From owner-p4-projects@FreeBSD.ORG Sun Aug 3 06:09:26 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B3700106568C; Sun, 3 Aug 2008 06:09:26 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 74B1C1065681 for ; Sun, 3 Aug 2008 06:09:26 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5FA768FC35 for ; Sun, 3 Aug 2008 06:09:26 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m7369QIV067980 for ; Sun, 3 Aug 2008 06:09:26 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m7369Qs4067978 for perforce@freebsd.org; Sun, 3 Aug 2008 06:09:26 GMT (envelope-from pgj@FreeBSD.org) Date: Sun, 3 Aug 2008 06:09:26 GMT Message-Id: <200808030609.m7369Qs4067978@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 146499 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, 03 Aug 2008 06:09:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=146499 Change 146499 by pgj@disznohal on 2008/08/03 06:09:17 IFC Affected files ... .. //depot/projects/docproj_hu/src/release/doc/en_US.ISO8859-1/relnotes/article.sgml#5 integrate .. //depot/projects/docproj_hu/www/en/cgi/man.cgi#2 integrate .. //depot/projects/docproj_hu/www/en/projects/c99/index.sgml#2 integrate .. //depot/projects/docproj_hu/www/share/sgml/news.xml#13 integrate Differences ... ==== //depot/projects/docproj_hu/src/release/doc/en_US.ISO8859-1/relnotes/article.sgml#5 (text+ko) ==== @@ -17,7 +17,7 @@ The &os; Project - $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/article.sgml,v 1.1091 2008/07/22 05:02:46 bmah Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/article.sgml,v 1.1092 2008/07/29 04:23:18 bmah Exp $ 2000 @@ -171,7 +171,7 @@ Backwards compatibility for applications using KSE threading will be provided via &man.libmap.conf.5; for dynamically linked binaries. The &os; Project greatly appreciates the work of - &a.julian; and &a.deischen; on KSE support. + &a.julian;, &a.deischen;, and &a.davidxu; on KSE support. The &os; kernel now exports information about certain kernel features via the kern.features sysctl tree. ==== //depot/projects/docproj_hu/www/en/cgi/man.cgi#2 (text+ko) ==== @@ -34,12 +34,14 @@ # Dual CGI/Plexus mode and new interface by sanders@bsdi.com 9/22/1995 # # $Id: man.cgi,v 1.172 2007/11/28 18:51:29 hrs Exp $ -# $FreeBSD: www/en/cgi/man.cgi,v 1.206 2008/05/01 15:08:26 wosch Exp $ +# $FreeBSD: www/en/cgi/man.cgi,v 1.214 2008/08/02 19:54:30 wosch Exp $ ############################################################################ # !!! man.cgi is stale perl4 code !!! ############################################################################ +# run `perltidy -b man.cgi' to indent the code + # Use standard FreeBSD CGI Style if available. Otherwise # print simple HTML design. package cgi_style; @@ -47,6 +49,7 @@ package main; +$debug = 2; $www{'title'} = 'FreeBSD Man Pages'; $www{'home'} = 'http://www.FreeBSD.org'; $www{'head'} = $www{'title'}; @@ -60,31 +63,33 @@ 'All', '', '0', '', - '1', '-S1', - '1c', '-S1', - '1C', '-S1', - '1g', '-S1', - '1m', '-S1', - '2', '-S2', - '2j', '-S2', - '3', '-S3', - '3S', '-S3', - '3f', '-S3', - '3j', '-S3', - '3m', '-S3', - '3n', '-S3', - '3r', '-S3', - '3s', '-S3', - '3x', '-S3', - '4', '-S4', - '5', '-S5', - '6', '-S6', - '7', '-S7', - '8', '-S8', - '8c', '-S8', - '9', '-S9', - 'l', '-Sl', - 'n', '-Sn', + '1', '-S1', + '1c', '-S1', + '1C', '-S1', + '1g', '-S1', + '1m', '-S1', + '2', '-S2', + '2j', '-S2', + '3', '-S3', + '3S', '-S3', + '3f', '-S3', + '3j', '-S3', + '3m', '-S3', + '3n', '-S3', + '3p', '-S3', + '3pm', '-S3', + '3r', '-S3', + '3s', '-S3', + '3x', '-S3', + '4', '-S4', + '5', '-S5', + '6', '-S6', + '7', '-S7', + '8', '-S8', + '8c', '-S8', + '9', '-S9', + 'l', '-Sl', + 'n', '-Sn', ); $sectionpath = { @@ -155,101 +160,115 @@ $manLocalDir = '/usr/local/www/bsddoc/man'; $manPathDefault = 'FreeBSD 7.0-RELEASE'; -%manPath = - ( - 'FreeBSD 7.0-RELEASE and Ports', "$manLocalDir/FreeBSD-7.0-RELEASE/man:$manLocalDir/FreeBSD-7.0-RELEASE/openssl/man:$manLocalDir/FreeBSD-ports", - 'FreeBSD 6.3-RELEASE and Ports', "$manLocalDir/FreeBSD-6.3-RELEASE/man:$manLocalDir/FreeBSD-6.3-RELEASE/openssl/man:$manLocalDir/FreeBSD-ports", +%manPath = ( + 'FreeBSD 7.0-RELEASE and Ports', +"$manLocalDir/FreeBSD-7.0-RELEASE/man:$manLocalDir/FreeBSD-7.0-RELEASE/openssl/man:$manLocalDir/FreeBSD-ports", + 'FreeBSD 6.3-RELEASE and Ports', +"$manLocalDir/FreeBSD-6.3-RELEASE/man:$manLocalDir/FreeBSD-6.3-RELEASE/openssl/man:$manLocalDir/FreeBSD-ports", - 'FreeBSD 8-current', "$manLocalDir/FreeBSD-8-current/man:$manLocalDir/FreeBSD-8-current/openssl/man", + 'FreeBSD 8-current', "$manLocalDir/FreeBSD-8-current", - 'FreeBSD 7.0-stable', "$manLocalDir/FreeBSD-7.0-stable/man:$manLocalDir/FreeBSD-7.0-stable/openssl/man", - 'FreeBSD 7.0-RELEASE', "$manLocalDir/FreeBSD-7.0-RELEASE/man:$manLocalDir/FreeBSD-7.0-RELEASE/openssl/man", - 'FreeBSD Ports 7.0-RELEASE', "$manLocalDir/FreeBSD-ports-7.0-RELEASE", + 'FreeBSD 7.0-stable', "$manLocalDir/FreeBSD-7.0-stable", + 'FreeBSD 7.0-RELEASE', +"$manLocalDir/FreeBSD-7.0-RELEASE/man:$manLocalDir/FreeBSD-7.0-RELEASE/openssl/man", + 'FreeBSD Ports 7.0-RELEASE', "$manLocalDir/FreeBSD-ports-7.0-RELEASE", - 'FreeBSD 6.3-stable', "$manLocalDir/FreeBSD-6.3-stable/man:$manLocalDir/FreeBSD-6.3-stable/openssl/man", - 'FreeBSD 6.3-RELEASE', "$manLocalDir/FreeBSD-6.3-RELEASE/man:$manLocalDir/FreeBSD-6.3-RELEASE/openssl/man", - 'FreeBSD Ports 6.3-RELEASE', "$manLocalDir/FreeBSD-ports-6.3-RELEASE", + 'FreeBSD 6.3-stable', "$manLocalDir/FreeBSD-6.3-stable", + 'FreeBSD 6.3-RELEASE', +"$manLocalDir/FreeBSD-6.3-RELEASE/man:$manLocalDir/FreeBSD-6.3-RELEASE/openssl/man", - 'FreeBSD 6.2-RELEASE', "$manLocalDir/FreeBSD-6.2-RELEASE/man:$manLocalDir/FreeBSD-6.2-RELEASE/openssl/man", - 'FreeBSD Ports 6.2-RELEASE', "$manLocalDir/FreeBSD-ports-6.2-RELEASE", + 'FreeBSD 6.2-RELEASE', +"$manLocalDir/FreeBSD-6.2-RELEASE/man:$manLocalDir/FreeBSD-6.2-RELEASE/openssl/man", + 'FreeBSD Ports 6.2-RELEASE', "$manLocalDir/FreeBSD-ports-6.2-RELEASE", - 'FreeBSD 6.1-RELEASE', "$manLocalDir/FreeBSD-6.1-RELEASE/man:$manLocalDir/FreeBSD-6.1-RELEASE/openssl/man", - 'FreeBSD 6.0-RELEASE', "$manLocalDir/FreeBSD-6.0-RELEASE/man:$manLocalDir/FreeBSD-6.0-RELEASE/openssl/man", + 'FreeBSD 6.1-RELEASE', +"$manLocalDir/FreeBSD-6.1-RELEASE/man:$manLocalDir/FreeBSD-6.1-RELEASE/openssl/man", + 'FreeBSD 6.0-RELEASE', +"$manLocalDir/FreeBSD-6.0-RELEASE/man:$manLocalDir/FreeBSD-6.0-RELEASE/openssl/man", - 'FreeBSD 5.5-stable', "$manLocalDir/FreeBSD-5.5-stable", - 'FreeBSD 5.5-RELEASE', "$manLocalDir/FreeBSD-5.5-RELEASE/man:$manLocalDir/FreeBSD-5.5-RELEASE/openssl/man", - 'FreeBSD Ports 5.5-RELEASE', "$manLocalDir/FreeBSD-ports-5.4-RELEASE", + 'FreeBSD 5.5-RELEASE', +"$manLocalDir/FreeBSD-5.5-RELEASE/man:$manLocalDir/FreeBSD-5.5-RELEASE/openssl/man", + 'FreeBSD Ports 5.1-RELEASE', "$manLocalDir/FreeBSD-ports-5.1-RELEASE", - 'FreeBSD 5.4-RELEASE', "$manLocalDir/FreeBSD-5.4-RELEASE/man:$manLocalDir/FreeBSD-5.4-RELEASE/openssl/man", - 'FreeBSD 5.3-RELEASE', "$manLocalDir/FreeBSD-5.3-RELEASE/man:$manLocalDir/FreeBSD-5.3-RELEASE/openssl/man", - 'FreeBSD 5.2.1-RELEASE', "$manLocalDir/FreeBSD-5.2-RELEASE/man:$manLocalDir/FreeBSD-5.2-RELEASE/openssl/man", - 'FreeBSD 5.2-RELEASE', "$manLocalDir/FreeBSD-5.2-RELEASE/man:$manLocalDir/FreeBSD-5.2-RELEASE/openssl/man", - 'FreeBSD 5.1-RELEASE', "$manLocalDir/FreeBSD-5.1-RELEASE/man:$manLocalDir/FreeBSD-5.1-RELEASE/openssl/man", - 'FreeBSD 5.0-RELEASE', "$manLocalDir/FreeBSD-5.0-RELEASE", + 'FreeBSD 5.4-RELEASE', +"$manLocalDir/FreeBSD-5.4-RELEASE/man:$manLocalDir/FreeBSD-5.4-RELEASE/openssl/man", + 'FreeBSD 5.3-RELEASE', +"$manLocalDir/FreeBSD-5.3-RELEASE/man:$manLocalDir/FreeBSD-5.3-RELEASE/openssl/man", + 'FreeBSD 5.2.1-RELEASE', +"$manLocalDir/FreeBSD-5.2-RELEASE/man:$manLocalDir/FreeBSD-5.2-RELEASE/openssl/man", + 'FreeBSD 5.2-RELEASE', +"$manLocalDir/FreeBSD-5.2-RELEASE/man:$manLocalDir/FreeBSD-5.2-RELEASE/openssl/man", + 'FreeBSD 5.1-RELEASE', +"$manLocalDir/FreeBSD-5.1-RELEASE/man:$manLocalDir/FreeBSD-5.1-RELEASE/openssl/man", + 'FreeBSD 5.0-RELEASE', "$manLocalDir/FreeBSD-5.0-RELEASE", - 'FreeBSD 4.11-stable', "$manLocalDir/FreeBSD-4.11-stable", - 'FreeBSD 4.11-RELEASE', "$manLocalDir/FreeBSD-4.11-RELEASE/man:$manLocalDir/FreeBSD-4.11-RELEASE/openssl/man:$manLocalDir/FreeBSD-4.11-RELEASE/perl/man", - 'FreeBSD Ports 4.11-RELEASE', "$manLocalDir/FreeBSD-ports-4.11-RELEASE", + 'FreeBSD 4.11-RELEASE', +"$manLocalDir/FreeBSD-4.11-RELEASE/man:$manLocalDir/FreeBSD-4.11-RELEASE/openssl/man:$manLocalDir/FreeBSD-4.11-RELEASE/perl/man", + 'FreeBSD Ports 4.7-RELEASE', "$manLocalDir/FreeBSD-ports-4.7-RELEASE", - 'FreeBSD 4.10-RELEASE', "$manLocalDir/FreeBSD-4.10-RELEASE/man:$manLocalDir/FreeBSD-4.10-RELEASE/openssl/man:$manLocalDir/FreeBSD-4.10-RELEASE/perl/man", - 'FreeBSD 4.9-RELEASE', "$manLocalDir/FreeBSD-4.9-RELEASE", - 'FreeBSD 4.8-RELEASE', "$manLocalDir/FreeBSD-4.8-RELEASE", - 'FreeBSD 4.7-RELEASE', "$manLocalDir/FreeBSD-4.7-RELEASE", - 'FreeBSD 4.6.2-RELEASE', "$manLocalDir/FreeBSD-4.6.2-RELEASE", - 'FreeBSD 4.6-RELEASE', "$manLocalDir/FreeBSD-4.6-RELEASE", - 'FreeBSD 4.5-RELEASE', "$manLocalDir/FreeBSD-4.5-RELEASE", - 'FreeBSD 4.4-RELEASE', "$manLocalDir/FreeBSD-4.4-RELEASE", - 'FreeBSD 4.3-RELEASE', "$manLocalDir/FreeBSD-4.3-RELEASE", - 'FreeBSD 4.2-RELEASE', "$manLocalDir/FreeBSD-4.2-RELEASE", - 'FreeBSD 4.1.1-RELEASE', "$manLocalDir/FreeBSD-4.1.1-RELEASE", - 'FreeBSD 4.1-RELEASE', "$manLocalDir/FreeBSD-4.1-RELEASE", - 'FreeBSD 4.0-RELEASE', "$manLocalDir/FreeBSD-4.0-RELEASE", - 'FreeBSD 3.5.1-RELEASE', "$manLocalDir/FreeBSD-3.5.1-RELEASE", - 'FreeBSD 3.4-RELEASE', "$manLocalDir/FreeBSD-3.4-RELEASE", - 'FreeBSD 3.3-RELEASE', "$manLocalDir/FreeBSD-3.3-RELEASE", - 'FreeBSD 3.2-RELEASE', "$manLocalDir/FreeBSD-3.2-RELEASE", - 'FreeBSD 3.1-RELEASE', "$manLocalDir/FreeBSD-3.1-RELEASE", - 'FreeBSD 3.0-RELEASE', "$manLocalDir/FreeBSD-3.0-RELEASE", - 'FreeBSD 2.2.5-RELEASE', "$manLocalDir/FreeBSD-2.2.5-RELEASE", - 'FreeBSD 2.2.6-RELEASE', "$manLocalDir/FreeBSD-2.2.6-RELEASE", - 'FreeBSD 2.2.7-RELEASE', "$manLocalDir/FreeBSD-2.2.7-RELEASE", - 'FreeBSD 2.2.8-RELEASE', "$manLocalDir/FreeBSD-2.2.8-RELEASE", - 'FreeBSD 2.2.2-RELEASE', "$manLocalDir/FreeBSD-2.2.2-RELEASE", - 'FreeBSD 2.2.1-RELEASE', "$manLocalDir/FreeBSD-2.2.1-RELEASE", - 'FreeBSD 2.1.7.1-RELEASE', "$manLocalDir/FreeBSD-2.1.7.1-RELEASE", - 'FreeBSD 2.1.6.1-RELEASE', "$manLocalDir/FreeBSD-2.1.6.1-RELEASE", - 'FreeBSD 2.1.5-RELEASE', "$manLocalDir/FreeBSD-2.1.5-RELEASE", - 'FreeBSD 2.1.0-RELEASE', "$manLocalDir/FreeBSD-2.1.0-RELEASE", - 'FreeBSD 2.0.5-RELEASE', "$manLocalDir/FreeBSD-2.0.5-RELEASE", - 'FreeBSD 2.0-RELEASE', "$manLocalDir/FreeBSD-2.0-RELEASE", - 'FreeBSD 1.1.5.1-RELEASE', "$manLocalDir/FreeBSD-1.1.5.1-RELEASE", - 'FreeBSD 1.1-RELEASE', "$manLocalDir/FreeBSD-1.1-RELEASE", - 'FreeBSD 1.0-RELEASE', "$manLocalDir/FreeBSD-1.0-RELEASE", + 'FreeBSD 4.10-RELEASE', +"$manLocalDir/FreeBSD-4.10-RELEASE/man:$manLocalDir/FreeBSD-4.10-RELEASE/openssl/man:$manLocalDir/FreeBSD-4.10-RELEASE/perl/man", + 'FreeBSD 4.9-RELEASE', "$manLocalDir/FreeBSD-4.9-RELEASE", + 'FreeBSD 4.8-RELEASE', "$manLocalDir/FreeBSD-4.8-RELEASE", + 'FreeBSD 4.7-RELEASE', "$manLocalDir/FreeBSD-4.7-RELEASE", + 'FreeBSD 4.6.2-RELEASE', "$manLocalDir/FreeBSD-4.6.2-RELEASE", + 'FreeBSD 4.6-RELEASE', "$manLocalDir/FreeBSD-4.6-RELEASE", + 'FreeBSD 4.5-RELEASE', "$manLocalDir/FreeBSD-4.5-RELEASE", + 'FreeBSD 4.4-RELEASE', "$manLocalDir/FreeBSD-4.4-RELEASE", + 'FreeBSD 4.3-RELEASE', "$manLocalDir/FreeBSD-4.3-RELEASE", + 'FreeBSD 4.2-RELEASE', "$manLocalDir/FreeBSD-4.2-RELEASE", + 'FreeBSD 4.1.1-RELEASE', "$manLocalDir/FreeBSD-4.1.1-RELEASE", + 'FreeBSD 4.1-RELEASE', "$manLocalDir/FreeBSD-4.1-RELEASE", + 'FreeBSD 4.0-RELEASE', "$manLocalDir/FreeBSD-4.0-RELEASE", + 'FreeBSD 3.5.1-RELEASE', "$manLocalDir/FreeBSD-3.5.1-RELEASE", + 'FreeBSD 3.4-RELEASE', "$manLocalDir/FreeBSD-3.4-RELEASE", + 'FreeBSD 3.3-RELEASE', "$manLocalDir/FreeBSD-3.3-RELEASE", + 'FreeBSD 3.2-RELEASE', "$manLocalDir/FreeBSD-3.2-RELEASE", + 'FreeBSD 3.1-RELEASE', "$manLocalDir/FreeBSD-3.1-RELEASE", + 'FreeBSD 3.0-RELEASE', "$manLocalDir/FreeBSD-3.0-RELEASE", + 'FreeBSD 2.2.5-RELEASE', "$manLocalDir/FreeBSD-2.2.5-RELEASE", + 'FreeBSD 2.2.6-RELEASE', "$manLocalDir/FreeBSD-2.2.6-RELEASE", + 'FreeBSD 2.2.7-RELEASE', "$manLocalDir/FreeBSD-2.2.7-RELEASE", + 'FreeBSD 2.2.8-RELEASE', "$manLocalDir/FreeBSD-2.2.8-RELEASE", + 'FreeBSD 2.2.2-RELEASE', "$manLocalDir/FreeBSD-2.2.2-RELEASE", + 'FreeBSD 2.2.1-RELEASE', "$manLocalDir/FreeBSD-2.2.1-RELEASE", + 'FreeBSD 2.1.7.1-RELEASE', "$manLocalDir/FreeBSD-2.1.7.1-RELEASE", + 'FreeBSD 2.1.6.1-RELEASE', "$manLocalDir/FreeBSD-2.1.6.1-RELEASE", + 'FreeBSD 2.1.5-RELEASE', "$manLocalDir/FreeBSD-2.1.5-RELEASE", + 'FreeBSD 2.1.0-RELEASE', "$manLocalDir/FreeBSD-2.1.0-RELEASE", + 'FreeBSD 2.0.5-RELEASE', "$manLocalDir/FreeBSD-2.0.5-RELEASE", + 'FreeBSD 2.0-RELEASE', "$manLocalDir/FreeBSD-2.0-RELEASE", + 'FreeBSD 1.1.5.1-RELEASE', "$manLocalDir/FreeBSD-1.1.5.1-RELEASE", + 'FreeBSD 1.1-RELEASE', "$manLocalDir/FreeBSD-1.1-RELEASE", + 'FreeBSD 1.0-RELEASE', "$manLocalDir/FreeBSD-1.0-RELEASE", - 'OpenBSD 2.0', "$manLocalDir/OpenBSD-2.0", - 'OpenBSD 2.1', "$manLocalDir/OpenBSD-2.1", - 'OpenBSD 2.2', "$manLocalDir/OpenBSD-2.2", - 'OpenBSD 2.3', "$manLocalDir/OpenBSD-2.3", - 'OpenBSD 2.4', "$manLocalDir/OpenBSD-2.4", - 'OpenBSD 2.5', "$manLocalDir/OpenBSD-2.5", - 'OpenBSD 2.6', "$manLocalDir/OpenBSD-2.6", - 'OpenBSD 2.7', "$manLocalDir/OpenBSD-2.7", - 'OpenBSD 2.8', "$manLocalDir/OpenBSD-2.8", - 'OpenBSD 2.9', "$manLocalDir/OpenBSD-2.9", - 'OpenBSD 3.0', "$manLocalDir/OpenBSD-3.0", - 'OpenBSD 3.1', "$manLocalDir/OpenBSD-3.1", - 'OpenBSD 3.2', "$manLocalDir/OpenBSD-3.2", - 'OpenBSD 3.3', "$manLocalDir/OpenBSD-3.3", - 'OpenBSD 3.4', "$manLocalDir/OpenBSD-3.4/share/man:$manLocalDir/OpenBSD-3.4/X11R6/man", - 'OpenBSD 3.5', "$manLocalDir/OpenBSD-3.5/share/man:$manLocalDir/OpenBSD-3.5/X11R6/man", - 'OpenBSD 3.6', "$manLocalDir/OpenBSD-3.6/share/man:$manLocalDir/OpenBSD-3.6/X11R6/man", - 'OpenBSD 3.7', "$manLocalDir/OpenBSD-3.7", - 'OpenBSD 3.8', "$manLocalDir/OpenBSD-3.8", - 'OpenBSD 3.9', "$manLocalDir/OpenBSD-3.9", - 'OpenBSD 4.0', "$manLocalDir/OpenBSD-4.0", - 'OpenBSD 4.1', "$manLocalDir/OpenBSD-4.1", - 'OpenBSD 4.2', "$manLocalDir/OpenBSD-4.2", - 'OpenBSD 4.3', "$manLocalDir/OpenBSD-4.3", + 'OpenBSD 2.0', "$manLocalDir/OpenBSD-2.0", + 'OpenBSD 2.1', "$manLocalDir/OpenBSD-2.1", + 'OpenBSD 2.2', "$manLocalDir/OpenBSD-2.2", + 'OpenBSD 2.3', "$manLocalDir/OpenBSD-2.3", + 'OpenBSD 2.4', "$manLocalDir/OpenBSD-2.4", + 'OpenBSD 2.5', "$manLocalDir/OpenBSD-2.5", + 'OpenBSD 2.6', "$manLocalDir/OpenBSD-2.6", + 'OpenBSD 2.7', "$manLocalDir/OpenBSD-2.7", + 'OpenBSD 2.8', "$manLocalDir/OpenBSD-2.8", + 'OpenBSD 2.9', "$manLocalDir/OpenBSD-2.9", + 'OpenBSD 3.0', "$manLocalDir/OpenBSD-3.0", + 'OpenBSD 3.1', "$manLocalDir/OpenBSD-3.1", + 'OpenBSD 3.2', "$manLocalDir/OpenBSD-3.2", + 'OpenBSD 3.3', "$manLocalDir/OpenBSD-3.3", + 'OpenBSD 3.4', + "$manLocalDir/OpenBSD-3.4/share/man:$manLocalDir/OpenBSD-3.4/X11R6/man", + 'OpenBSD 3.5', + "$manLocalDir/OpenBSD-3.5/share/man:$manLocalDir/OpenBSD-3.5/X11R6/man", + 'OpenBSD 3.6', + "$manLocalDir/OpenBSD-3.6/share/man:$manLocalDir/OpenBSD-3.6/X11R6/man", + 'OpenBSD 3.7', "$manLocalDir/OpenBSD-3.7", + 'OpenBSD 3.8', "$manLocalDir/OpenBSD-3.8", + 'OpenBSD 3.9', "$manLocalDir/OpenBSD-3.9", + 'OpenBSD 4.0', "$manLocalDir/OpenBSD-4.0", + 'OpenBSD 4.1', "$manLocalDir/OpenBSD-4.1", + 'OpenBSD 4.2', "$manLocalDir/OpenBSD-4.2", + 'OpenBSD 4.3', "$manLocalDir/OpenBSD-4.3", #'NetBSD 0.9', "$manLocalDir/NetBSD-0.9", 'NetBSD 1.0', "$manLocalDir/NetBSD-1.0", @@ -275,6 +294,7 @@ 'NetBSD 2.0.2', "$manLocalDir/NetBSD-2.0.2", 'NetBSD 2.1', "$manLocalDir/NetBSD-2.1", 'NetBSD 3.0', "$manLocalDir/NetBSD-3.0", + 'NetBSD 3.1', "$manLocalDir/NetBSD-3.1", 'NetBSD 4.0', "$manLocalDir/NetBSD-4.0", '2.8 BSD', "$manLocalDir/2.8BSD", @@ -300,22 +320,30 @@ 'Red Hat Linux/i386 8.0', "$manLocalDir/RedHat-8.0-i386", 'Red Hat Linux/i386 9', "$manLocalDir/RedHat-9-i386", - 'SuSE Linux/i386 4.3', "$manLocalDir/SuSE-4.3-i386", - 'SuSE Linux/i386 5.0', "$manLocalDir/SuSE-5.0-i386", - 'SuSE Linux/i386 5.2', "$manLocalDir/SuSE-5.2-i386", - 'SuSE Linux/i386 5.3', "$manLocalDir/SuSE-5.3-i386", - 'SuSE Linux/i386 6.0', "$manLocalDir/SuSE-6.0-i386", - 'SuSE Linux/i386 6.1', "$manLocalDir/SuSE-6.1-i386", - 'SuSE Linux/i386 6.3', "$manLocalDir/SuSE-6.3-i386", - 'SuSE Linux/i386 6.4', "$manLocalDir/SuSE-6.4-i386", - 'SuSE Linux/i386 7.0', "$manLocalDir/SuSE-7.0-i386", - 'SuSE Linux/i386 7.1', "$manLocalDir/SuSE-7.1-i386", - 'SuSE Linux/i386 7.2', "$manLocalDir/SuSE-7.2-i386", - 'SuSE Linux/i386 7.3', "$manLocalDir/SuSE-7.3-i386", - 'SuSE Linux/i386 8.0', "$manLocalDir/SuSE-8.0-i386", - 'SuSE Linux/i386 8.1', "$manLocalDir/SuSE-8.1-i386", - 'SuSE Linux/i386 8.2', "$manLocalDir/SuSE-8.2-i386", - 'SuSE Linux/i386 10.1', "$manLocalDir/SLES-10-SP1-i386", + 'SuSE Linux/i386 4.3', "$manLocalDir/SuSE-4.3-i386", + 'SuSE Linux/i386 5.0', "$manLocalDir/SuSE-5.0-i386", + 'SuSE Linux/i386 5.2', "$manLocalDir/SuSE-5.2-i386", + 'SuSE Linux/i386 5.3', "$manLocalDir/SuSE-5.3-i386", + 'SuSE Linux/i386 6.0', "$manLocalDir/SuSE-6.0-i386", + 'SuSE Linux/i386 6.1', "$manLocalDir/SuSE-6.1-i386", + 'SuSE Linux/i386 6.3', "$manLocalDir/SuSE-6.3-i386", + 'SuSE Linux/i386 6.4', "$manLocalDir/SuSE-6.4-i386", + 'SuSE Linux/i386 7.0', "$manLocalDir/SuSE-7.0-i386", + 'SuSE Linux/i386 7.1', "$manLocalDir/SuSE-7.1-i386", + 'SuSE Linux/i386 7.2', "$manLocalDir/SuSE-7.2-i386", + 'SuSE Linux/i386 7.3', "$manLocalDir/SuSE-7.3-i386", + 'SuSE Linux/i386 8.0', "$manLocalDir/SuSE-8.0-i386", + 'SuSE Linux/i386 8.1', "$manLocalDir/SuSE-8.1-i386", + 'SuSE Linux/i386 8.2', "$manLocalDir/SuSE-8.2-i386", + 'SuSE Linux/i386 9.2', "$manLocalDir/SuSE-9.2-i386", + 'SuSE Linux/i386 9.3', "$manLocalDir/SuSE-9.3-i386", + 'SuSE Linux/i386 10.0', "$manLocalDir/SuSE-10.0", + 'SuSE Linux/i386 10.1', "$manLocalDir/SuSE-10.1", + 'SuSE Linux/i386 10.2', "$manLocalDir/SuSE-10.2", + 'SuSE Linux/i386 10.3', "$manLocalDir/SuSE-10.3", + 'SuSE Linux/i386 11.0', "$manLocalDir/SuSE-11.0", + + 'SuSE Linux/i386 ES 10 SP1', "$manLocalDir/SLES-10-SP1-i386", 'HP-UX 11.22', "$manLocalDir/HP-UX-11.22", 'HP-UX 11.20', "$manLocalDir/HP-UX-11.20", @@ -333,7 +361,7 @@ 'SunOS 5.5.1', "$manLocalDir/SunOS-5.5.1", 'SunOS 4.1.3', "$manLocalDir/SunOS-4.1.3", - 'XFree86 3.2', "$manLocalDir/XFree86-3.2", + #'XFree86 3.2', "$manLocalDir/XFree86-3.2", 'XFree86 3.3', "$manLocalDir/XFree86-3.3", 'XFree86 3.3.6', "$manLocalDir/XFree86-3.3.6", 'XFree86 4.0', "$manLocalDir/XFree86-4.0", @@ -380,31 +408,32 @@ } # give up and delete release - delete $manPath{"$key"} if !$counter && $key ne $manPathDefault; + if ( !$counter && $key ne $manPathDefault ) { + delete $manPath{"$key"}; + warn qq{man.cgi Remove release "$key"\n} if $debug >= 2; + } } # keywords must be in lower cases. %manPathAliases = ( - 'freebsd', 'FreeBSD 7.0-RELEASE', - 'freebsd-release', 'FreeBSD 7.0-RELEASE', + 'freebsd', 'FreeBSD 7.0-RELEASE', + 'freebsd-release', 'FreeBSD 7.0-RELEASE', - 'freebsd-stable', 'FreeBSD 7.0-stable', - 'freebsd-stable7', 'FreeBSD 7.0-stable', - 'freebsd-stable6', 'FreeBSD 6.3-stable', - 'freebsd-stable5', 'FreeBSD 5.5-stable', - 'freebsd-stable4', 'FreeBSD 4.11-stable', + 'freebsd-stable', 'FreeBSD 7.0-stable', + 'freebsd-stable7', 'FreeBSD 7.0-stable', + 'freebsd-stable6', 'FreeBSD 6.3-stable', 'freebsd-current', 'FreeBSD 8-current', 'freebsd-release-ports', 'FreeBSD 7.0-RELEASE and Ports', - 'slackware', 'Linux Slackware 3.1', - 'linux-de', 'deutsch - Linux/GNU', - 'redhat', 'Red Hat Linux/i386 9', - 'suse', 'SuSE Linux/i386 10.1', - 'linux', 'Red Hat Linux/i386 9', - 'darwin', 'Darwin 8.0.1/ppc', - 'opendarwin', 'OpenDarwin 7.2.1', - 'macosx', 'Darwin 8.0.1/ppc', + 'slackware', 'Linux Slackware 3.1', + 'linux-de', 'deutsch - Linux/GNU', + 'redhat', 'Red Hat Linux/i386 9', + 'suse', 'SuSE Linux/i386 11.0', + 'linux', 'Red Hat Linux/i386 9', + 'darwin', 'Darwin 8.0.1/ppc', + 'opendarwin', 'OpenDarwin 7.2.1', + 'macosx', 'Darwin 8.0.1/ppc', 'netbsd', 'NetBSD 4.0', 'openbsd', 'OpenBSD 4.3', @@ -451,10 +480,6 @@ $mailtoURL = 'http://wolfram.schneider.org'; $mailtoURL = "mailto:$mailto" if !$mailtoURL; -#$webmaster = $mailto; -#$webmasterURL = $mailtoURL; -#$manstat = 'http://www.de.freebsd.org/de/stat/man'; - &secure_env; # CGI Interface -- runs at load time @@ -510,7 +535,7 @@ local ($u) = $BASE; - return &faq_output($u) if ( $path =~ /\/(faq|help)\.html$/ ); + return &faq_output($u) if ( $path =~ /\/(faq|help)\.html$/ ); return &get_the_sources if ( $path =~ /source$/ ); return &include_output($path) @@ -521,7 +546,7 @@ &decode_form( $form, *form, 0 ); $format = $form{'format'}; - $format = 'html' if $format !~ /^(ps|pdf|ascii|latin1|dvi|troff)$/; + $format = 'html' if $format !~ /^(ps|pdf|ascii|latin1)$/; local ($fform) = &dec($form); if ( $fform =~ m%^([a-zA-Z_\-\.]+)$% ) { @@ -619,7 +644,7 @@ local (@m); local ($m) = $manPath{"$manpath"}; foreach ( split( /:/, $m ) ) { - push( @m, $_ ) if s%^$manLocalDir/?%%; + push( @m, $_ . '/' ) if s%^$manLocalDir/?%%; } chdir($manLocalDir) || do { @@ -637,7 +662,11 @@ } sub http_header { - local ($content_type) = @_; + local ( $content_type, $filename ) = @_; + + print qq{Content-disposition: inline; filename="$filename"\n} + if $filename; + if ( defined($main'plexus_configured) ) { &main'MIME_header( 'ok', $content_type ); } @@ -710,6 +739,22 @@ &html_footer; } +sub to_filename { + my %args = @_; + + my $name = exists $args{'name'} ? $args{'name'} : 'manpage'; + my $section = + exists $args{'section'} + && $args{'section'} ne "" ? $args{'section'} : '0'; + my $format = exists $args{'format'} ? $args{'format'} : 'unkown'; + + my $filename = qq{$name.$section.$format}; + $filename =~ s/[^\w\-\.]/_/g; + $filename =~ s/_+/_/g; + + return $filename; +} + sub man { local ( $name, $section ) = @_; local ( $_, $title, $head, *MAN ); @@ -744,22 +789,30 @@ } else { - #$format =~ /^(ps|ascii|latin1|dvi|troff)$/') + #$format =~ /^(ps|ascii|latin1)$/') $ENV{'NROFF_FORMAT'} = $format; # Content-encoding: x-gzip if ( $format eq "ps" ) { - &http_header("application/postscript"); + &http_header( + "application/postscript", + &to_filename( + 'name' => $name, + 'section' => $section, + 'format' => 'ps' + ) + ); } elsif ( $format eq "pdf" ) { - &http_header("application/pdf"); + &http_header( + "application/pdf", + &to_filename( + 'name' => $name, + 'section' => $section, + 'format' => 'pdf' + ) + ); } - elsif ( $format eq "dvi" ) { - &http_header("application/x-dvi"); - } - elsif ( $format eq "troff" ) { - &http_header("application/x-troff-mandoc"); - } else { &http_header("text/plain"); } @@ -798,7 +851,10 @@ $section = "-S " . $sectionpath->{$manpath}{$section}; } else { - $section = "-S $section"; + my $s = substr( $section, 0, 1 ); + + # create a colon separated list of sections + $section = "-S $section" . ( $s ne $section ? ":$s" : '' ); } } @@ -825,7 +881,8 @@ push( @manargs, '-t' ); } - # warn "X $command{'man'} @manargs -- x $name x\n"; + warn "X $command{'man'} @manargs -- x $name x\n" if $debug >= 3; + &proc( *MAN, $command{'man'}, @manargs, "--", $name ) || &mydie("$0: open of $command{'man'} command failed: $!\n"); if ( eof(MAN) ) { @@ -1207,7 +1264,7 @@ foreach ( 'html', 'ps', 'pdf', - # 'dvi', # you need a 8 bit clean man, e.g. jp-man + # you need a 8 bit clean man, e.g. jp-man 'ascii', 'latin1' ) { @@ -1249,7 +1306,8 @@ if $manPathAliases{$_}; } - local $id = '$FreeBSD: www/en/cgi/man.cgi,v 1.206 2008/05/01 15:08:26 wosch Exp $'; + local $id = + '$FreeBSD: www/en/cgi/man.cgi,v 1.214 2008/08/02 19:54:30 wosch Exp $'; return qq{\
 Copyright (c) 1996-2008 Wolfram Schneider
@@ -1339,10 +1397,8 @@
     $base = 'http://www.freebsd.org/cgi/';    # XXX
 
     &http_header("text/html");
-    print &html_header( "FreeBSD manual page help", $base )
-      . "

", $www{'head'}, - "

\n" - . &faq . qq{\ + print &html_header( "FreeBSD manual page help", $base ) . "

", + $www{'head'}, "

\n" . &faq . qq{\
home ==== //depot/projects/docproj_hu/www/en/projects/c99/index.sgml#2 (text+ko) ==== @@ -1,6 +1,6 @@ - + @@ -111,10 +111,11 @@ Task Responsible Last Updated - Status + Status + 8.X 7.X 6.X @@ -126,7 +127,8 @@ Create stdint(7) manual to document <stdint.h>. &a.mike; - 15 September 2002 + 15 September 2002 + &status.done; &status.done; &status.done; @@ -134,7 +136,8 @@ Document flockfile(3), ftrylockfile(3), funlockfile(3). &a.tjr; - 22 January 2004 + 22 January 2004 + &status.done; &status.done; &status.done; @@ -142,15 +145,17 @@ Document new _SC options in sysconf(3) (PR: 20528). &a.trhodes; - 13 January 2005 + 13 January 2005 &status.done; + &status.done; &status.done; Document standards conformity level of the API.   - 26 March 2002 + 26 March 2002 + &status.wip; &status.wip; &status.blank; @@ -158,7 +163,8 @@ Document thread safety and async-cancel safety.   - 26 March 2002 + 26 March 2002 + &status.wip; &status.wip; &status.blank; @@ -166,18 +172,20 @@ Create c99(7) and posix(7) manuals.   - 11 December 2001 + 11 December 2001 &status.new; &status.blank; + &status.blank; Document in posix(7) that the batch job management utilities are available in the port net/generic-nqs.   - 11 December 2001 + 11 December 2001 &status.new; &status.blank; + &status.blank;

@@ -186,10 +194,11 @@ Task Responsible Last Updated - Status + Status + 8.X 7.X 6.X @@ -201,15 +210,17 @@ Add __func__ reporting to &man.assert.3;. &a.asmodai; - 27 October 2001 + 27 October 2001 &status.done; &status.done; + &status.done; Implement imaxabs(), imaxdiv(), llabs(), lldiv(). &a.mike; - 14 November 2001 + 14 November 2001 + &status.done; &status.done; &status.done; @@ -217,7 +228,8 @@ Implement atoll(), strtoimax(), strtoumax(). &a.fenner; - 27 November 2001 + 27 November 2001 + &status.done; &status.done; &status.done; @@ -226,7 +238,8 @@ Implement new length modifiers (hh, j, t, z) and new flag (') in &man.printf.3;. &a.wollman;,
&a.fenner; - 30 November 2001 + 30 November 2001 + &status.done; &status.done; &status.done; @@ -234,7 +247,8 @@ Implement strerror_r(). &a.wes; - 20 December 2001 + 20 December 2001 + &status.done; &status.done; &status.done; @@ -242,7 +256,8 @@ Implement tgamma() based on Lite1's gamma(). &a.bde; - 27 March 2002 + 27 March 2002 + &status.done; &status.done; &status.done; @@ -251,7 +266,8 @@ Implement new length modifiers (hh, j, ll, t, z) in &man.scanf.3;. &a.fenner; - 20 April 2002 + 20 April 2002 + &status.done; &status.done; &status.done; @@ -259,7 +275,8 @@ Add WCONTINUED to waitpid(2). &a.mike; - 1 June 2002 + 1 June 2002 + &status.done; &status.done; &status.done; @@ -268,7 +285,8 @@ Implement new conversion specifiers (%j and %n) in &man.printf.9;. &a.dd;
&a.des; - 3 June 2002 + 3 June 2002 + &status.done; &status.done; &status.done; @@ -276,7 +294,8 @@ Implement fstatvfs() and statvfs() (trivial). &a.wollman; - 14 June 2002 + 14 June 2002 + &status.done; &status.done; &status.done; @@ -284,31 +303,35 @@ Implement fmtmsg(). &a.mike; - 8 August 2002 + 8 August 2002 &status.done; + &status.done; &status.done; Implement ulimit(). &a.mkm; - 8 August 2002 + 8 August 2002 &status.done; + &status.done; &status.done; Implement C99's _Exit(). &a.wollman; - 11 September 2002 + 11 September 2002 &status.done; + &status.done; &status.done; Add required options for POSIX.1-2001 to glob(). (partial MFC) &a.mikeh; - 20 September 2002 + 20 September 2002 + &status.done; &status.done; &status.done; @@ -316,7 +339,8 @@ Update sysconf(3) for POSIX.1-2001. &a.wollman; - 18 September 2002 + 18 September 2002 + &status.done; &status.done; &status.done; @@ -324,7 +348,8 @@ Restore insque(), lsearch(), remque() from libcompat. &a.robert; - 16 November 2002 + 16 November 2002 + &status.done; &status.done; &status.done; @@ -332,7 +357,8 @@ Implement fpclassify(). &a.das;,
&a.mike; - 8 February 2003 + 8 February 2003 + &status.done; &status.done; &status.done; @@ -340,7 +366,8 @@ Implement isfinite(), isinf(), isnan(), isnormal(). &a.das; - 17 February 2003 + 17 February 2003 + &status.done; &status.done; &status.done; @@ -349,7 +376,8 @@ Implement isgreater(), isgreaterequal(), isless(), islessequal(), islessgreater(). &a.das; - 17 February 2003 + 17 February 2003 + &status.done; &status.done; &status.done; @@ -357,7 +385,8 @@ Implement signbit(). &a.mike; - 17 February 2003 + 17 February 2003 + &status.done; &status.done; &status.done; @@ -365,24 +394,27 @@ Implement sockatmark(). &a.fenner; - 23 December 2002 + 23 December 2002 &status.done; + &status.done; &status.done; Implement wordexp() and wordfree(). &a.tjr; - 31 December 2002 + 31 December 2002 &status.done; + &status.done; &status.done; Implement grantpt(), posix_openpt(), ptsname(), unlockpt(). &a.ryany; - 4 February 2003 + 4 February 2003 &status.done; + &status.done; &status.done; @@ -390,7 +422,8 @@ Add floating-point support for the (') modifier in &man.printf.3; &a.das; - 22 January 2004 + 22 January 2004 + &status.done; &status.done; &status.done; @@ -398,7 +431,8 @@ Add new conversion specifiers (%a and %A) to &man.printf.3;. &a.das; - 22 January 2004 + 22 January 2004 + &status.done; &status.done; &status.done; @@ -406,24 +440,27 @@ Transition to vendor (Netlib) source for strtod.c. &a.das; - 22 January 2004 + 22 January 2004 &status.done; &status.done; + &status.done; Import Netlib's gdtoa (strtof, strtold, etc.). &a.das; - 22 January 2004 + 22 January 2004 &status.done; &status.done; + &status.done; Implement C99 macros fpclassify(), isfinite(), isinf(), isnan(), isnormal(), signbit(). &a.mike;,
&a.das; - 22 January 2004 + 22 January 2004 + &status.done; &status.done; &status.done; @@ -432,7 +469,8 @@ Implement C99 macros isgreater(), isgreaterequal(), isless(), islessequal(), islessgreater(), isunordered(). &a.mike;,
&a.das; - 22 January 2004 + 22 January 2004 + &status.done; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Aug 3 07:48:07 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 355551065686; Sun, 3 Aug 2008 07:48:07 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E94CD106567E for ; Sun, 3 Aug 2008 07:48:06 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D4E148FC1B for ; Sun, 3 Aug 2008 07:48:06 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m737m6LT076873 for ; Sun, 3 Aug 2008 07:48:06 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m737m6a8076871 for perforce@freebsd.org; Sun, 3 Aug 2008 07:48:06 GMT (envelope-from julian@freebsd.org) Date: Sun, 3 Aug 2008 07:48:06 GMT Message-Id: <200808030748.m737m6a8076871@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Cc: Subject: PERFORCE change 146502 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, 03 Aug 2008 07:48:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=146502 Change 146502 by julian@julian_trafmon1 on 2008/08/03 07:47:15 IFC@146500 Affected files ... .. //depot/projects/vimage/src/sys/amd64/amd64/cpu_switch.S#8 integrate .. //depot/projects/vimage/src/sys/amd64/amd64/genassym.c#9 integrate .. //depot/projects/vimage/src/sys/amd64/amd64/pmap.c#20 integrate .. //depot/projects/vimage/src/sys/amd64/conf/GENERIC#18 integrate .. //depot/projects/vimage/src/sys/amd64/ia32/ia32_signal.c#3 integrate .. //depot/projects/vimage/src/sys/amd64/include/param.h#4 integrate .. //depot/projects/vimage/src/sys/amd64/include/pcb.h#4 integrate .. //depot/projects/vimage/src/sys/amd64/include/pmap.h#7 integrate .. //depot/projects/vimage/src/sys/amd64/linux32/linux32_machdep.c#12 integrate .. //depot/projects/vimage/src/sys/arm/arm/db_interface.c#3 integrate .. //depot/projects/vimage/src/sys/arm/arm/swtch.S#5 integrate .. //depot/projects/vimage/src/sys/arm/at91/uart_dev_at91usart.c#7 integrate .. //depot/projects/vimage/src/sys/arm/conf/AVILA#7 integrate .. //depot/projects/vimage/src/sys/arm/include/db_machdep.h#2 integrate .. //depot/projects/vimage/src/sys/bsm/audit.h#6 integrate .. //depot/projects/vimage/src/sys/bsm/audit_internal.h#5 integrate .. //depot/projects/vimage/src/sys/bsm/audit_kevents.h#5 integrate .. //depot/projects/vimage/src/sys/bsm/audit_record.h#5 integrate .. //depot/projects/vimage/src/sys/cam/cam_xpt.c#13 integrate .. //depot/projects/vimage/src/sys/compat/linux/linux_ioctl.c#8 integrate .. //depot/projects/vimage/src/sys/compat/linux/linux_ioctl.h#4 integrate .. //depot/projects/vimage/src/sys/compat/linux/linux_misc.c#18 integrate .. //depot/projects/vimage/src/sys/compat/ndis/kern_ndis.c#6 integrate .. //depot/projects/vimage/src/sys/conf/NOTES#28 integrate .. //depot/projects/vimage/src/sys/conf/files#33 integrate .. //depot/projects/vimage/src/sys/contrib/ipfilter/netinet/ip_compat.h#5 integrate .. //depot/projects/vimage/src/sys/contrib/ipfilter/netinet/ip_fil.h#4 integrate .. //depot/projects/vimage/src/sys/contrib/ipfilter/netinet/ip_nat.c#5 integrate .. //depot/projects/vimage/src/sys/contrib/ipfilter/netinet/ip_nat.h#4 integrate .. //depot/projects/vimage/src/sys/contrib/ipfilter/netinet/ip_state.c#6 integrate .. //depot/projects/vimage/src/sys/contrib/pf/net/pf_ioctl.c#13 integrate .. //depot/projects/vimage/src/sys/ddb/db_run.c#2 integrate .. //depot/projects/vimage/src/sys/dev/acpica/acpi.c#12 integrate .. //depot/projects/vimage/src/sys/dev/agp/agp_i810.c#4 integrate .. //depot/projects/vimage/src/sys/dev/atkbdc/psm.c#8 integrate .. //depot/projects/vimage/src/sys/dev/bfe/if_bfe.c#6 integrate .. //depot/projects/vimage/src/sys/dev/bfe/if_bfereg.h#3 integrate .. //depot/projects/vimage/src/sys/dev/ciss/ciss.c#13 integrate .. //depot/projects/vimage/src/sys/dev/ciss/cissreg.h#3 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#6 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#4 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/ulp/tom/cxgb_ddp.c#3 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/ulp/tom/cxgb_l2t.c#2 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/ulp/tom/cxgb_listen.c#4 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/ulp/tom/cxgb_tcp_offload.c#3 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/ulp/tom/cxgb_tcp_offload.h#3 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/ulp/tom/cxgb_tom.c#4 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/ulp/tom/cxgb_tom_sysctl.c#4 integrate .. //depot/projects/vimage/src/sys/dev/e1000/LICENSE#1 branch .. //depot/projects/vimage/src/sys/dev/e1000/README#1 branch .. //depot/projects/vimage/src/sys/dev/e1000/e1000_80003es2lan.c#1 branch .. //depot/projects/vimage/src/sys/dev/e1000/e1000_80003es2lan.h#1 branch .. //depot/projects/vimage/src/sys/dev/e1000/e1000_82540.c#1 branch .. //depot/projects/vimage/src/sys/dev/e1000/e1000_82541.c#1 branch .. //depot/projects/vimage/src/sys/dev/e1000/e1000_82541.h#1 branch .. //depot/projects/vimage/src/sys/dev/e1000/e1000_82542.c#1 branch .. //depot/projects/vimage/src/sys/dev/e1000/e1000_82543.c#1 branch .. //depot/projects/vimage/src/sys/dev/e1000/e1000_82543.h#1 branch .. //depot/projects/vimage/src/sys/dev/e1000/e1000_82571.c#1 branch .. //depot/projects/vimage/src/sys/dev/e1000/e1000_82571.h#1 branch .. //depot/projects/vimage/src/sys/dev/e1000/e1000_82575.c#1 branch .. //depot/projects/vimage/src/sys/dev/e1000/e1000_82575.h#1 branch .. //depot/projects/vimage/src/sys/dev/e1000/e1000_api.c#1 branch .. //depot/projects/vimage/src/sys/dev/e1000/e1000_api.h#1 branch .. //depot/projects/vimage/src/sys/dev/e1000/e1000_defines.h#1 branch .. //depot/projects/vimage/src/sys/dev/e1000/e1000_hw.h#1 branch .. //depot/projects/vimage/src/sys/dev/e1000/e1000_ich8lan.c#1 branch .. //depot/projects/vimage/src/sys/dev/e1000/e1000_ich8lan.h#1 branch .. //depot/projects/vimage/src/sys/dev/e1000/e1000_mac.c#1 branch .. //depot/projects/vimage/src/sys/dev/e1000/e1000_mac.h#1 branch .. //depot/projects/vimage/src/sys/dev/e1000/e1000_manage.c#1 branch .. //depot/projects/vimage/src/sys/dev/e1000/e1000_manage.h#1 branch .. //depot/projects/vimage/src/sys/dev/e1000/e1000_nvm.c#1 branch .. //depot/projects/vimage/src/sys/dev/e1000/e1000_nvm.h#1 branch .. //depot/projects/vimage/src/sys/dev/e1000/e1000_osdep.c#1 branch .. //depot/projects/vimage/src/sys/dev/e1000/e1000_osdep.h#1 branch .. //depot/projects/vimage/src/sys/dev/e1000/e1000_phy.c#1 branch .. //depot/projects/vimage/src/sys/dev/e1000/e1000_phy.h#1 branch .. //depot/projects/vimage/src/sys/dev/e1000/e1000_regs.h#1 branch .. //depot/projects/vimage/src/sys/dev/e1000/if_em.c#1 branch .. //depot/projects/vimage/src/sys/dev/e1000/if_em.h#1 branch .. //depot/projects/vimage/src/sys/dev/e1000/if_igb.c#1 branch .. //depot/projects/vimage/src/sys/dev/e1000/if_igb.h#1 branch .. //depot/projects/vimage/src/sys/dev/em/LICENSE#4 delete .. //depot/projects/vimage/src/sys/dev/em/README#4 delete .. //depot/projects/vimage/src/sys/dev/em/e1000_80003es2lan.c#5 delete .. //depot/projects/vimage/src/sys/dev/em/e1000_80003es2lan.h#5 delete .. //depot/projects/vimage/src/sys/dev/em/e1000_82540.c#5 delete .. //depot/projects/vimage/src/sys/dev/em/e1000_82541.c#5 delete .. //depot/projects/vimage/src/sys/dev/em/e1000_82541.h#5 delete .. //depot/projects/vimage/src/sys/dev/em/e1000_82542.c#5 delete .. //depot/projects/vimage/src/sys/dev/em/e1000_82543.c#5 delete .. //depot/projects/vimage/src/sys/dev/em/e1000_82543.h#5 delete .. //depot/projects/vimage/src/sys/dev/em/e1000_82571.c#5 delete .. //depot/projects/vimage/src/sys/dev/em/e1000_82571.h#5 delete .. //depot/projects/vimage/src/sys/dev/em/e1000_api.c#5 delete .. //depot/projects/vimage/src/sys/dev/em/e1000_api.h#5 delete .. //depot/projects/vimage/src/sys/dev/em/e1000_defines.h#5 delete .. //depot/projects/vimage/src/sys/dev/em/e1000_hw.h#5 delete .. //depot/projects/vimage/src/sys/dev/em/e1000_ich8lan.c#5 delete .. //depot/projects/vimage/src/sys/dev/em/e1000_ich8lan.h#5 delete .. //depot/projects/vimage/src/sys/dev/em/e1000_mac.c#5 delete .. //depot/projects/vimage/src/sys/dev/em/e1000_mac.h#5 delete .. //depot/projects/vimage/src/sys/dev/em/e1000_manage.c#5 delete .. //depot/projects/vimage/src/sys/dev/em/e1000_manage.h#5 delete .. //depot/projects/vimage/src/sys/dev/em/e1000_nvm.c#5 delete .. //depot/projects/vimage/src/sys/dev/em/e1000_nvm.h#5 delete .. //depot/projects/vimage/src/sys/dev/em/e1000_osdep.c#2 delete .. //depot/projects/vimage/src/sys/dev/em/e1000_osdep.h#5 delete .. //depot/projects/vimage/src/sys/dev/em/e1000_phy.c#5 delete .. //depot/projects/vimage/src/sys/dev/em/e1000_phy.h#5 delete .. //depot/projects/vimage/src/sys/dev/em/e1000_regs.h#5 delete .. //depot/projects/vimage/src/sys/dev/em/if_em.c#12 delete .. //depot/projects/vimage/src/sys/dev/em/if_em.h#7 delete .. //depot/projects/vimage/src/sys/dev/hwpmc/hwpmc_mod.c#7 integrate .. //depot/projects/vimage/src/sys/dev/ie/if_ie.c#6 integrate .. //depot/projects/vimage/src/sys/dev/ie/if_ie_isa.c#5 integrate .. //depot/projects/vimage/src/sys/dev/ie/if_ievar.h#4 integrate .. //depot/projects/vimage/src/sys/dev/igb/e1000_82575.c#2 delete .. //depot/projects/vimage/src/sys/dev/igb/e1000_82575.h#2 delete .. //depot/projects/vimage/src/sys/dev/igb/e1000_api.c#2 delete .. //depot/projects/vimage/src/sys/dev/igb/e1000_api.h#2 delete .. //depot/projects/vimage/src/sys/dev/igb/e1000_defines.h#2 delete .. //depot/projects/vimage/src/sys/dev/igb/e1000_hw.h#2 delete .. //depot/projects/vimage/src/sys/dev/igb/e1000_mac.c#2 delete .. //depot/projects/vimage/src/sys/dev/igb/e1000_mac.h#2 delete .. //depot/projects/vimage/src/sys/dev/igb/e1000_manage.c#2 delete .. //depot/projects/vimage/src/sys/dev/igb/e1000_manage.h#2 delete .. //depot/projects/vimage/src/sys/dev/igb/e1000_nvm.c#2 delete .. //depot/projects/vimage/src/sys/dev/igb/e1000_nvm.h#2 delete .. //depot/projects/vimage/src/sys/dev/igb/e1000_osdep.c#2 delete .. //depot/projects/vimage/src/sys/dev/igb/e1000_osdep.h#2 delete .. //depot/projects/vimage/src/sys/dev/igb/e1000_phy.c#2 delete .. //depot/projects/vimage/src/sys/dev/igb/e1000_phy.h#2 delete .. //depot/projects/vimage/src/sys/dev/igb/e1000_regs.h#2 delete .. //depot/projects/vimage/src/sys/dev/igb/if_igb.c#2 delete .. //depot/projects/vimage/src/sys/dev/igb/if_igb.h#2 delete .. //depot/projects/vimage/src/sys/dev/iicbus/ds1339.c#1 branch .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe.c#4 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe.h#5 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_82598.c#4 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_api.c#4 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_api.h#4 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_common.c#4 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_common.h#4 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_phy.c#4 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_phy.h#4 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_type.h#4 integrate .. //depot/projects/vimage/src/sys/dev/jme/if_jme.c#3 integrate .. //depot/projects/vimage/src/sys/dev/kbd/kbd.c#3 integrate .. //depot/projects/vimage/src/sys/dev/kbdmux/kbdmux.c#4 integrate .. //depot/projects/vimage/src/sys/dev/nvram/nvram.c#3 integrate .. //depot/projects/vimage/src/sys/dev/pccard/pccarddevs#7 integrate .. //depot/projects/vimage/src/sys/dev/pci/pci.c#13 integrate .. //depot/projects/vimage/src/sys/dev/pci/pci_pci.c#7 integrate .. //depot/projects/vimage/src/sys/dev/pci/pcivar.h#7 integrate .. //depot/projects/vimage/src/sys/dev/usb/ehci_pci.c#8 integrate .. //depot/projects/vimage/src/sys/dev/usb/ehcireg.h#2 integrate .. //depot/projects/vimage/src/sys/dev/usb/if_rum.c#12 integrate .. //depot/projects/vimage/src/sys/dev/usb/if_ural.c#15 integrate .. //depot/projects/vimage/src/sys/dev/usb/ugen.c#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/uhid.c#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/uipaq.c#6 integrate .. //depot/projects/vimage/src/sys/dev/usb/usbdevs#24 integrate .. //depot/projects/vimage/src/sys/dev/wi/if_wi.c#13 integrate .. //depot/projects/vimage/src/sys/dev/wi/if_wi_pccard.c#3 integrate .. //depot/projects/vimage/src/sys/dev/wi/if_wi_pci.c#3 integrate .. //depot/projects/vimage/src/sys/dev/wi/if_wireg.h#2 integrate .. //depot/projects/vimage/src/sys/dev/wi/if_wivar.h#5 integrate .. //depot/projects/vimage/src/sys/i386/conf/GENERIC#20 integrate .. //depot/projects/vimage/src/sys/i386/i386/mp_machdep.c#11 integrate .. //depot/projects/vimage/src/sys/i386/i386/pmap.c#18 integrate .. //depot/projects/vimage/src/sys/i386/include/profile.h#2 integrate .. //depot/projects/vimage/src/sys/kern/kern_exec.c#13 integrate .. //depot/projects/vimage/src/sys/kern/kern_lock.c#9 integrate .. //depot/projects/vimage/src/sys/kern/kern_proc.c#11 integrate .. //depot/projects/vimage/src/sys/kern/kern_timeout.c#15 integrate .. //depot/projects/vimage/src/sys/kern/sched_4bsd.c#24 integrate .. //depot/projects/vimage/src/sys/kern/subr_clist.c#2 integrate .. //depot/projects/vimage/src/sys/kern/subr_lock.c#12 integrate .. //depot/projects/vimage/src/sys/kern/subr_sleepqueue.c#9 integrate .. //depot/projects/vimage/src/sys/kern/tty.c#16 integrate .. //depot/projects/vimage/src/sys/kern/tty_info.c#1 branch .. //depot/projects/vimage/src/sys/kern/uipc_usrreq.c#16 integrate .. //depot/projects/vimage/src/sys/kern/vfs_cache.c#9 integrate .. //depot/projects/vimage/src/sys/kern/vfs_subr.c#14 integrate .. //depot/projects/vimage/src/sys/libkern/arc4random.c#3 integrate .. //depot/projects/vimage/src/sys/modules/em/Makefile#5 integrate .. //depot/projects/vimage/src/sys/modules/et/Makefile#2 integrate .. //depot/projects/vimage/src/sys/modules/igb/Makefile#2 integrate .. //depot/projects/vimage/src/sys/modules/mem/Makefile#3 integrate .. //depot/projects/vimage/src/sys/modules/netgraph/bluetooth/socket/Makefile#2 integrate .. //depot/projects/vimage/src/sys/modules/nfslockd/Makefile#3 integrate .. //depot/projects/vimage/src/sys/net/bpf.c#22 integrate .. //depot/projects/vimage/src/sys/net/bpf_buffer.c#2 integrate .. //depot/projects/vimage/src/sys/net/bpfdesc.h#5 integrate .. //depot/projects/vimage/src/sys/net/if.h#7 integrate .. //depot/projects/vimage/src/sys/net/if_loop.c#22 integrate .. //depot/projects/vimage/src/sys/net/if_media.h#6 integrate .. //depot/projects/vimage/src/sys/net/route.c#19 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_dfs.c#2 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_freebsd.c#11 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_hostap.c#2 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_ht.c#9 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_input.c#11 integrate .. //depot/projects/vimage/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#5 integrate .. //depot/projects/vimage/src/sys/netgraph/bluetooth/include/ng_btsocket_sco.h#1 branch .. //depot/projects/vimage/src/sys/netgraph/bluetooth/socket/ng_btsocket.c#2 integrate .. //depot/projects/vimage/src/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c#2 integrate .. //depot/projects/vimage/src/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#6 integrate .. //depot/projects/vimage/src/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c#2 integrate .. //depot/projects/vimage/src/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#5 integrate .. //depot/projects/vimage/src/sys/netgraph/bluetooth/socket/ng_btsocket_sco.c#1 branch .. //depot/projects/vimage/src/sys/netgraph/ng_l2tp.c#6 integrate .. //depot/projects/vimage/src/sys/netinet/ip_divert.c#11 integrate .. //depot/projects/vimage/src/sys/netinet/ip_fw2.c#36 integrate .. //depot/projects/vimage/src/sys/netinet/raw_ip.c#23 integrate .. //depot/projects/vimage/src/sys/netinet/sctp.h#14 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_asconf.c#20 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_bsd_addr.c#16 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_constants.h#23 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_input.c#27 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_output.c#28 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_pcb.c#28 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_pcb.h#20 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_timer.c#20 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_usrreq.c#29 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_var.h#20 integrate .. //depot/projects/vimage/src/sys/netinet/sctputil.c#29 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_input.c#27 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_output.c#17 edit .. //depot/projects/vimage/src/sys/netinet/tcp_subr.c#43 edit .. //depot/projects/vimage/src/sys/netinet/tcp_syncache.c#30 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_syncache.h#13 edit .. //depot/projects/vimage/src/sys/netinet/tcp_usrreq.c#19 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_var.h#22 integrate .. //depot/projects/vimage/src/sys/netinet/udp_usrreq.c#27 integrate .. //depot/projects/vimage/src/sys/netinet/vinet.h#23 edit .. //depot/projects/vimage/src/sys/netinet6/icmp6.c#24 integrate .. //depot/projects/vimage/src/sys/netinet6/ip6_output.c#16 integrate .. //depot/projects/vimage/src/sys/netinet6/raw_ip6.c#19 integrate .. //depot/projects/vimage/src/sys/netipsec/ipsec.c#23 integrate .. //depot/projects/vimage/src/sys/netipx/ipx_input.c#6 integrate .. //depot/projects/vimage/src/sys/netipx/ipx_usrreq.c#6 integrate .. //depot/projects/vimage/src/sys/nfsclient/nfs_vfsops.c#16 integrate .. //depot/projects/vimage/src/sys/pci/if_sis.c#3 integrate .. //depot/projects/vimage/src/sys/rpc/auth_unix.c#4 integrate .. //depot/projects/vimage/src/sys/security/audit/audit.c#13 integrate .. //depot/projects/vimage/src/sys/security/audit/audit.h#8 integrate .. //depot/projects/vimage/src/sys/security/audit/audit_arg.c#10 integrate .. //depot/projects/vimage/src/sys/security/audit/audit_bsm_klib.c#9 integrate .. //depot/projects/vimage/src/sys/security/audit/audit_bsm_token.c#8 integrate .. //depot/projects/vimage/src/sys/security/audit/audit_pipe.c#8 integrate .. //depot/projects/vimage/src/sys/security/audit/audit_private.h#7 integrate .. //depot/projects/vimage/src/sys/security/audit/audit_syscalls.c#12 integrate .. //depot/projects/vimage/src/sys/security/audit/audit_worker.c#10 integrate .. //depot/projects/vimage/src/sys/security/mac_biba/mac_biba.c#9 integrate .. //depot/projects/vimage/src/sys/security/mac_bsdextended/mac_bsdextended.c#9 integrate .. //depot/projects/vimage/src/sys/security/mac_lomac/mac_lomac.c#9 integrate .. //depot/projects/vimage/src/sys/security/mac_mls/mac_mls.c#11 integrate .. //depot/projects/vimage/src/sys/security/mac_partition/mac_partition.c#6 integrate .. //depot/projects/vimage/src/sys/sys/callout.h#6 integrate .. //depot/projects/vimage/src/sys/sys/elf_common.h#4 integrate .. //depot/projects/vimage/src/sys/sys/proc.h#19 integrate .. //depot/projects/vimage/src/sys/sys/procfs.h#2 integrate .. //depot/projects/vimage/src/sys/sys/refcount.h#2 integrate .. //depot/projects/vimage/src/sys/sys/sockbuf.h#1 branch .. //depot/projects/vimage/src/sys/sys/socketvar.h#11 integrate .. //depot/projects/vimage/src/sys/sys/sockio.h#4 integrate .. //depot/projects/vimage/src/sys/sys/sockopt.h#1 branch .. //depot/projects/vimage/src/sys/sys/sockstate.h#1 branch .. //depot/projects/vimage/src/sys/sys/vnode.h#9 integrate .. //depot/projects/vimage/src/sys/ufs/ffs/ffs_balloc.c#4 integrate .. //depot/projects/vimage/src/sys/ufs/ufs/ufs_lookup.c#7 integrate .. //depot/projects/vimage/src/sys/vm/swap_pager.c#13 integrate .. //depot/projects/vimage/src/sys/vm/vm_object.c#15 integrate .. //depot/projects/vimage/src/sys/vm/vnode_pager.c#9 integrate Differences ... ==== //depot/projects/vimage/src/sys/amd64/amd64/cpu_switch.S#8 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.161 2008/03/23 23:09:06 peter Exp $ + * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.162 2008/07/30 11:30:55 kib Exp $ */ #include @@ -113,8 +113,8 @@ movq PCB_GSBASE(%r8),%r10 testl $PCB_32BIT,PCB_FLAGS(%r8) - jnz store_gs /* static predict not taken */ -done_store_gs: + jnz store_seg +done_store_seg: testl $PCB_DBREGS,PCB_FLAGS(%r8) jnz store_dr /* static predict not taken */ @@ -176,6 +176,10 @@ testl $TDP_KTHREAD,TD_PFLAGS(%rsi) jnz do_kthread + testl $PCB_32BIT,PCB_FLAGS(%r8) + jnz load_seg +done_load_seg: + cmpq PCB_FSBASE(%r8),%r9 jz 1f /* Restore userland %fs */ @@ -184,7 +188,6 @@ movl PCB_FSBASE+4(%r8),%edx wrmsr 1: - cmpq PCB_GSBASE(%r8),%r10 jz 2f /* Restore userland %gs */ @@ -193,8 +196,8 @@ movl PCB_GSBASE+4(%r8),%edx wrmsr 2: + do_tss: - /* Update the TSS_RSP0 pointer for the next interrupt */ movq PCPU(TSSP), %rax movq %r8, PCPU(RSP0) @@ -208,10 +211,6 @@ jnz load_dr /* static predict not taken */ done_load_dr: - testl $PCB_32BIT,PCB_FLAGS(%r8) - jnz load_gs /* static predict not taken */ -done_load_gs: - /* Restore context. */ movq PCB_R15(%r8),%r15 movq PCB_R14(%r8),%r14 @@ -243,23 +242,35 @@ movq %r10,PCB_GSBASE(%r8) jmp do_tss -store_gs: +store_seg: movl %gs,PCB_GS(%r8) - movq PCB_GS32P(%r8),%rax + testl $PCB_GS32BIT,PCB_FLAGS(%r8) + jnz 2f +1: movl %ds,PCB_DS(%r8) + movl %es,PCB_ES(%r8) + movl %fs,PCB_FS(%r8) + jmp done_store_seg +2: movq PCB_GS32P(%r8),%rax movq (%rax),%rax movq %rax,PCB_GS32SD(%r8) - jmp done_store_gs + jmp 1b -load_gs: +load_seg: + testl $PCB_GS32BIT,PCB_FLAGS(%r8) + jnz 2f +1: movl $MSR_GSBASE,%ecx + rdmsr + movl PCB_GS(%r8),%gs + wrmsr + movl PCB_DS(%r8),%ds + movl PCB_ES(%r8),%es + movl PCB_FS(%r8),%fs + jmp done_load_seg /* Restore userland %gs while preserving kernel gsbase */ - movq PCB_GS32P(%r8),%rax +2: movq PCB_GS32P(%r8),%rax movq PCB_GS32SD(%r8),%rcx movq %rcx,(%rax) - movl $MSR_GSBASE,%ecx - rdmsr - movl PCB_GS(%r8),%gs - wrmsr - jmp done_load_gs + jmp 1b store_dr: movq %dr7,%rax /* yes, do the save */ ==== //depot/projects/vimage/src/sys/amd64/amd64/genassym.c#9 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.168 2008/05/16 13:23:47 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.169 2008/07/30 11:30:55 kib Exp $"); #include "opt_compat.h" #include "opt_kstack_pages.h" @@ -140,6 +140,7 @@ ASSYM(PCB_DR7, offsetof(struct pcb, pcb_dr7)); ASSYM(PCB_DBREGS, PCB_DBREGS); ASSYM(PCB_32BIT, PCB_32BIT); +ASSYM(PCB_GS32BIT, PCB_GS32BIT); ASSYM(PCB_FULLCTX, PCB_FULLCTX); ASSYM(PCB_FLAGS, offsetof(struct pcb, pcb_flags)); ==== //depot/projects/vimage/src/sys/amd64/amd64/pmap.c#20 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.634 2008/07/18 22:05:51 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.642 2008/08/02 03:43:54 alc Exp $"); /* * Manages physical address maps. @@ -222,6 +222,8 @@ static int pmap_pvh_wired_mappings(struct md_page *pvh, int count); static boolean_t pmap_demote_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t va); +static boolean_t pmap_demote_pdpe(pmap_t pmap, pdp_entry_t *pdpe, + vm_offset_t va); static boolean_t pmap_enter_pde(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot); static vm_page_t pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, @@ -230,9 +232,11 @@ static void pmap_insert_pt_page(pmap_t pmap, vm_page_t mpte); static boolean_t pmap_is_modified_pvh(struct md_page *pvh); static vm_page_t pmap_lookup_pt_page(pmap_t pmap, vm_offset_t va); +static void pmap_pde_attr(pd_entry_t *pde, int cache_bits); static void pmap_promote_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t va); static boolean_t pmap_protect_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t sva, vm_prot_t prot); +static void pmap_pte_attr(pt_entry_t *pte, int cache_bits); static int pmap_remove_pde(pmap_t pmap, pd_entry_t *pdq, vm_offset_t sva, vm_page_t *free); static int pmap_remove_pte(pmap_t pmap, pt_entry_t *ptq, @@ -739,6 +743,13 @@ SYSCTL_ULONG(_vm_pmap_pde, OID_AUTO, promotions, CTLFLAG_RD, &pmap_pde_promotions, 0, "2MB page promotions"); +SYSCTL_NODE(_vm_pmap, OID_AUTO, pdpe, CTLFLAG_RD, 0, + "1GB page mapping counters"); + +static u_long pmap_pdpe_demotions; +SYSCTL_ULONG(_vm_pmap_pdpe, OID_AUTO, demotions, CTLFLAG_RD, + &pmap_pdpe_demotions, 0, "1GB page demotions"); + /*************************************************** * Low level helper routines..... @@ -3350,9 +3361,8 @@ * are taken, but the code works. */ void -pmap_object_init_pt(pmap_t pmap, vm_offset_t addr, - vm_object_t object, vm_pindex_t pindex, - vm_size_t size) +pmap_object_init_pt(pmap_t pmap, vm_offset_t addr, vm_object_t object, + vm_pindex_t pindex, vm_size_t size) { vm_offset_t va; vm_page_t p, pdpg; @@ -3500,7 +3510,7 @@ void pmap_copy(pmap_t dst_pmap, pmap_t src_pmap, vm_offset_t dst_addr, vm_size_t len, - vm_offset_t src_addr) + vm_offset_t src_addr) { vm_page_t free; vm_offset_t addr; @@ -4251,41 +4261,35 @@ /* Adjust the cache mode for a 4KB page mapped via a PTE. */ static __inline void -pmap_pte_attr(vm_offset_t va, int mode) +pmap_pte_attr(pt_entry_t *pte, int cache_bits) { - pt_entry_t *pte; u_int opte, npte; - pte = vtopte(va); - /* * The cache mode bits are all in the low 32-bits of the * PTE, so we can just spin on updating the low 32-bits. */ do { opte = *(u_int *)pte; - npte = opte & ~(PG_PTE_PAT | PG_NC_PCD | PG_NC_PWT); - npte |= pmap_cache_bits(mode, 0); + npte = opte & ~PG_PTE_CACHE; + npte |= cache_bits; } while (npte != opte && !atomic_cmpset_int((u_int *)pte, opte, npte)); } /* Adjust the cache mode for a 2MB page mapped via a PDE. */ static __inline void -pmap_pde_attr(vm_offset_t va, int mode) +pmap_pde_attr(pd_entry_t *pde, int cache_bits) { - pd_entry_t *pde; u_int opde, npde; - pde = pmap_pde(kernel_pmap, va); - /* * The cache mode bits are all in the low 32-bits of the * PDE, so we can just spin on updating the low 32-bits. */ do { opde = *(u_int *)pde; - npde = opde & ~(PG_PDE_PAT | PG_NC_PCD | PG_NC_PWT); - npde |= pmap_cache_bits(mode, 1); + npde = opde & ~PG_PDE_CACHE; + npde |= cache_bits; } while (npde != opde && !atomic_cmpset_int((u_int *)pde, opde, npde)); } @@ -4301,11 +4305,14 @@ vm_offset_t va, tmpva, offset; /* - * If this fits within the direct map window and use WB caching - * mode, use the direct map. + * If the specified range of physical addresses fits within the direct + * map window, use the direct map. */ - if (pa < dmaplimit && (pa + size) < dmaplimit && mode == PAT_WRITE_BACK) - return ((void *)PHYS_TO_DMAP(pa)); + if (pa < dmaplimit && pa + size < dmaplimit) { + va = PHYS_TO_DMAP(pa); + if (!pmap_change_attr(va, size, mode)) + return ((void *)va); + } offset = pa & PAGE_MASK; size = roundup(offset + size, PAGE_SIZE); va = kmem_alloc_nofault(kernel_map, size); @@ -4354,70 +4361,213 @@ kmem_free(kernel_map, base, size); } +/* + * Tries to demote a 1GB page mapping. + */ +static boolean_t +pmap_demote_pdpe(pmap_t pmap, pdp_entry_t *pdpe, vm_offset_t va) +{ + pdp_entry_t newpdpe, oldpdpe; + pd_entry_t *firstpde, newpde, *pde; + vm_paddr_t mpdepa; + vm_page_t mpde; + + PMAP_LOCK_ASSERT(pmap, MA_OWNED); + oldpdpe = *pdpe; + KASSERT((oldpdpe & (PG_PS | PG_V)) == (PG_PS | PG_V), + ("pmap_demote_pdpe: oldpdpe is missing PG_PS and/or PG_V")); + if ((mpde = vm_page_alloc(NULL, va >> PDPSHIFT, VM_ALLOC_INTERRUPT | + VM_ALLOC_NOOBJ | VM_ALLOC_WIRED)) == NULL) { + CTR2(KTR_PMAP, "pmap_demote_pdpe: failure for va %#lx" + " in pmap %p", va, pmap); + return (FALSE); + } + mpdepa = VM_PAGE_TO_PHYS(mpde); + firstpde = (pd_entry_t *)PHYS_TO_DMAP(mpdepa); + newpdpe = mpdepa | PG_M | PG_A | (oldpdpe & PG_U) | PG_RW | PG_V; + KASSERT((oldpdpe & PG_A) != 0, + ("pmap_demote_pdpe: oldpdpe is missing PG_A")); + KASSERT((oldpdpe & (PG_M | PG_RW)) != PG_RW, + ("pmap_demote_pdpe: oldpdpe is missing PG_M")); + newpde = oldpdpe; + + /* + * Initialize the page directory page. + */ + for (pde = firstpde; pde < firstpde + NPDEPG; pde++) { + *pde = newpde; + newpde += NBPDR; + } + + /* + * Demote the mapping. + */ + *pdpe = newpdpe; + + /* + * Invalidate a stale recursive mapping of the page directory page. + */ + pmap_invalidate_page(pmap, (vm_offset_t)vtopde(va)); + + pmap_pdpe_demotions++; + CTR2(KTR_PMAP, "pmap_demote_pdpe: success for va %#lx" + " in pmap %p", va, pmap); + return (TRUE); +} + int -pmap_change_attr(va, size, mode) - vm_offset_t va; - vm_size_t size; - int mode; +pmap_change_attr(vm_offset_t va, vm_size_t size, int mode) { vm_offset_t base, offset, tmpva; + pdp_entry_t *pdpe; pd_entry_t *pde; pt_entry_t *pte; + int cache_bits_pte, cache_bits_pde; + boolean_t changed; base = trunc_page(va); offset = va & PAGE_MASK; size = roundup(offset + size, PAGE_SIZE); - /* Only supported on kernel virtual addresses. */ - if (base <= VM_MAXUSER_ADDRESS) + /* + * Only supported on kernel virtual addresses, including the direct + * map but excluding the recursive map. + */ + if (base < DMAP_MIN_ADDRESS) return (EINVAL); + cache_bits_pde = cache_bits_pte = -1; + changed = FALSE; + /* - * XXX: We have to support tearing 2MB pages down into 4k pages if - * needed here. + * Pages that aren't mapped aren't supported. Also break down 2MB pages + * into 4KB pages if required. */ - /* Pages that aren't mapped aren't supported. */ - for (tmpva = base; tmpva < (base + size); ) { - pde = pmap_pde(kernel_pmap, tmpva); - if (*pde == 0) + PMAP_LOCK(kernel_pmap); + for (tmpva = base; tmpva < base + size; ) { + pdpe = pmap_pdpe(kernel_pmap, tmpva); + if (*pdpe == 0) { + PMAP_UNLOCK(kernel_pmap); + return (EINVAL); + } + if (*pdpe & PG_PS) { + /* + * If the current 1GB page already has the required + * memory type, then we need not demote this page. Just + * increment tmpva to the next 1GB page frame. + */ + if (cache_bits_pde < 0) + cache_bits_pde = pmap_cache_bits(mode, 1); + if ((*pdpe & PG_PDE_CACHE) == cache_bits_pde) { + tmpva = trunc_1gpage(tmpva) + NBPDP; + continue; + } + + /* + * If the current offset aligns with a 1GB page frame + * and there is at least 1GB left within the range, then + * we need not break down this page into 2MB pages. + */ + if ((tmpva & PDPMASK) == 0 && + tmpva + PDPMASK < base + size) { + tmpva += NBPDP; + continue; + } + if (!pmap_demote_pdpe(kernel_pmap, pdpe, tmpva)) { + PMAP_UNLOCK(kernel_pmap); + return (ENOMEM); + } + } + pde = pmap_pdpe_to_pde(pdpe, tmpva); + if (*pde == 0) { + PMAP_UNLOCK(kernel_pmap); return (EINVAL); + } if (*pde & PG_PS) { - /* Handle 2MB pages that are completely contained. */ - if (size >= NBPDR) { + /* + * If the current 2MB page already has the required + * memory type, then we need not demote this page. Just + * increment tmpva to the next 2MB page frame. + */ + if (cache_bits_pde < 0) + cache_bits_pde = pmap_cache_bits(mode, 1); + if ((*pde & PG_PDE_CACHE) == cache_bits_pde) { + tmpva = trunc_2mpage(tmpva) + NBPDR; + continue; + } + + /* + * If the current offset aligns with a 2MB page frame + * and there is at least 2MB left within the range, then + * we need not break down this page into 4KB pages. + */ + if ((tmpva & PDRMASK) == 0 && + tmpva + PDRMASK < base + size) { tmpva += NBPDR; continue; } - return (EINVAL); + if (!pmap_demote_pde(kernel_pmap, pde, tmpva)) { + PMAP_UNLOCK(kernel_pmap); + return (ENOMEM); + } } pte = vtopte(tmpva); - if (*pte == 0) + if (*pte == 0) { + PMAP_UNLOCK(kernel_pmap); return (EINVAL); + } tmpva += PAGE_SIZE; } + PMAP_UNLOCK(kernel_pmap); /* * Ok, all the pages exist, so run through them updating their - * cache mode. + * cache mode if required. */ - for (tmpva = base; size > 0; ) { - pde = pmap_pde(kernel_pmap, tmpva); + for (tmpva = base; tmpva < base + size; ) { + pdpe = pmap_pdpe(kernel_pmap, tmpva); + if (*pdpe & PG_PS) { + if (cache_bits_pde < 0) + cache_bits_pde = pmap_cache_bits(mode, 1); + if ((*pdpe & PG_PDE_CACHE) != cache_bits_pde) { + pmap_pde_attr(pdpe, cache_bits_pde); + if (!changed) + changed = TRUE; + } + tmpva = trunc_1gpage(tmpva) + NBPDP; + continue; + } + pde = pmap_pdpe_to_pde(pdpe, tmpva); if (*pde & PG_PS) { - pmap_pde_attr(tmpva, mode); - tmpva += NBPDR; - size -= NBPDR; + if (cache_bits_pde < 0) + cache_bits_pde = pmap_cache_bits(mode, 1); + if ((*pde & PG_PDE_CACHE) != cache_bits_pde) { + pmap_pde_attr(pde, cache_bits_pde); + if (!changed) + changed = TRUE; + } + tmpva = trunc_2mpage(tmpva) + NBPDR; } else { - pmap_pte_attr(tmpva, mode); + if (cache_bits_pte < 0) + cache_bits_pte = pmap_cache_bits(mode, 0); + pte = vtopte(tmpva); + if ((*pte & PG_PTE_CACHE) != cache_bits_pte) { + pmap_pte_attr(pte, cache_bits_pte); + if (!changed) + changed = TRUE; + } tmpva += PAGE_SIZE; - size -= PAGE_SIZE; } } /* - * Flush CPU caches to make sure any data isn't cached that shouldn't - * be, etc. - */ - pmap_invalidate_range(kernel_pmap, base, tmpva); - pmap_invalidate_cache(); + * Flush CPU caches if required to make sure any data isn't cached that + * shouldn't be, etc. + */ + if (changed) { + pmap_invalidate_range(kernel_pmap, base, tmpva); + pmap_invalidate_cache(); + } return (0); } ==== //depot/projects/vimage/src/sys/amd64/conf/GENERIC#18 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.504 2008/07/13 07:20:14 ed Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.505 2008/07/30 22:27:38 jfv Exp $ cpu HAMMER ident GENERIC @@ -189,7 +189,8 @@ # PCI Ethernet NICs. device de # DEC/Intel DC21x4x (``Tulip'') -device em # Intel PRO/1000 adapter Gigabit Ethernet Card +device em # Intel PRO/1000 Gigabit Ethernet Family +device igb # Intel PRO/1000 PCIE Server Gigabit Family device ixgb # Intel PRO/10GbE Ethernet Card device le # AMD Am7900 LANCE and Am79C9xx PCnet device ti # Alteon Networks Tigon I/II gigabit Ethernet ==== //depot/projects/vimage/src/sys/amd64/ia32/ia32_signal.c#3 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_signal.c,v 1.17 2008/03/23 22:44:56 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_signal.c,v 1.18 2008/07/30 11:30:55 kib Exp $"); #include "opt_compat.h" @@ -741,6 +741,6 @@ fpstate_drop(td); /* Return via doreti so that we can change to a different %cs */ - pcb->pcb_flags |= PCB_FULLCTX; + pcb->pcb_flags |= PCB_FULLCTX | PCB_32BIT; td->td_retval[1] = 0; } ==== //depot/projects/vimage/src/sys/amd64/include/param.h#4 (text+ko) ==== @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)param.h 8.1 (Berkeley) 6/10/93 - * $FreeBSD: src/sys/amd64/include/param.h,v 1.22 2008/07/19 23:42:38 alc Exp $ + * $FreeBSD: src/sys/amd64/include/param.h,v 1.23 2008/08/01 04:55:38 alc Exp $ */ /* @@ -146,6 +146,7 @@ #define trunc_page(x) ((unsigned long)(x) & ~(PAGE_MASK)) #define trunc_2mpage(x) ((unsigned long)(x) & ~PDRMASK) #define round_2mpage(x) ((((unsigned long)(x)) + PDRMASK) & ~PDRMASK) +#define trunc_1gpage(x) ((unsigned long)(x) & ~PDPMASK) #define atop(x) ((unsigned long)(x) >> PAGE_SHIFT) #define ptoa(x) ((unsigned long)(x) << PAGE_SHIFT) ==== //depot/projects/vimage/src/sys/amd64/include/pcb.h#4 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)pcb.h 5.10 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/amd64/include/pcb.h,v 1.64 2008/03/23 22:45:51 peter Exp $ + * $FreeBSD: src/sys/amd64/include/pcb.h,v 1.65 2008/07/30 11:30:55 kib Exp $ */ #ifndef _AMD64_PCB_H_ @@ -70,6 +70,7 @@ struct savefpu pcb_save; #define PCB_DBREGS 0x02 /* process using debug registers */ #define PCB_FPUINITDONE 0x08 /* fpu state is initialized */ +#define PCB_GS32BIT 0x20 /* linux gs switch */ #define PCB_32BIT 0x40 /* process has 32 bit context (segs etc) */ #define PCB_FULLCTX 0x80 /* full context restore on sysret */ ==== //depot/projects/vimage/src/sys/amd64/include/pmap.h#7 (text+ko) ==== @@ -39,7 +39,7 @@ * * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90 * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.146 2008/07/08 22:59:17 alc Exp $ + * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.147 2008/07/31 22:45:28 alc Exp $ */ #ifndef _MACHINE_PMAP_H_ @@ -75,6 +75,10 @@ #define PG_PROT (PG_RW|PG_U) /* all protection bits . */ #define PG_N (PG_NC_PWT|PG_NC_PCD) /* Non-cacheable */ +/* Page level cache control fields used to determine the PAT type */ +#define PG_PDE_CACHE (PG_PDE_PAT | PG_NC_PWT | PG_NC_PCD) +#define PG_PTE_CACHE (PG_PTE_PAT | PG_NC_PWT | PG_NC_PCD) + /* * Promotion to a 2MB (PDE) page mapping requires that the corresponding 4KB * (PTE) page mappings have identical settings for the following fields: ==== //depot/projects/vimage/src/sys/amd64/linux32/linux32_machdep.c#12 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.46 2008/02/11 19:35:03 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.47 2008/07/30 11:30:55 kib Exp $"); #include #include @@ -696,7 +696,7 @@ td2->td_pcb->pcb_gs32sd = sd; td2->td_pcb->pcb_gs32p = &gdt[GUGS32_SEL]; td2->td_pcb->pcb_gs = GSEL(GUGS32_SEL, SEL_UPL); - td2->td_pcb->pcb_flags |= PCB_32BIT; + td2->td_pcb->pcb_flags |= PCB_GS32BIT | PCB_32BIT; } } ==== //depot/projects/vimage/src/sys/arm/arm/db_interface.c#3 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/db_interface.c,v 1.7 2007/02/26 05:17:47 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/db_interface.c,v 1.8 2008/08/03 01:53:14 cognet Exp $"); #include "opt_ddb.h" #include @@ -294,7 +294,7 @@ u_int branch_taken(u_int insn, db_addr_t pc) { - u_int addr, nregs; + u_int addr, nregs, offset = 0; switch ((insn >> 24) & 0xf) { case 0xa: /* b ... */ @@ -311,6 +311,17 @@ case 0x1: /* mov pc, reg */ addr = db_fetch_reg(insn & 0xf); return (addr); + case 0x5: /* ldr pc, [reg] */ + addr = db_fetch_reg((insn >> 16) & 0xf); + /* ldr pc, [reg, #offset] */ + if (insn & (1 << 24)) + offset = insn & 0xfff; + if (insn & 0x00800000) + addr += offset; + else + addr -= offset; + db_read_bytes(addr, 4, (char *)&addr); + return (addr); case 0x8: /* ldmxx reg, {..., pc} */ case 0x9: addr = db_fetch_reg((insn >> 16) & 0xf); ==== //depot/projects/vimage/src/sys/arm/arm/swtch.S#5 (text+ko) ==== @@ -83,7 +83,7 @@ #include #include #include -__FBSDID("$FreeBSD: src/sys/arm/arm/swtch.S,v 1.22 2008/02/05 10:22:33 raj Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/swtch.S,v 1.23 2008/08/02 00:10:38 cognet Exp $"); /* @@ -257,6 +257,7 @@ strd r10, [r2, #(PCB_R10)] strd r12, [r2, #(PCB_R12)] #endif + str pc, [r2, #(PCB_PC)] /* * NOTE: We can now use r8-r13 until it is time to restore ==== //depot/projects/vimage/src/sys/arm/at91/uart_dev_at91usart.c#7 (text) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/uart_dev_at91usart.c,v 1.14 2008/05/04 23:29:37 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/uart_dev_at91usart.c,v 1.15 2008/08/02 08:01:56 ed Exp $"); #include "opt_comconsole.h" @@ -510,15 +510,18 @@ if (sc->sc_sysdev != NULL && sc->sc_sysdev->type == UART_DEV_CONSOLE) { if ((kdb_brk = kdb_alt_break(key, &sc->sc_altbrk)) != 0) { - case KDB_REQ_DEBUGGER: - kdb_enter(KDB_WHY_BREAK, "Break sequence on console"); - break; - case KDB_REQ_PANIC: - kdb_panic("Panic sequence on console"); - break; - case KDB_REQ_REBOOT: >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Aug 3 08:16:37 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9D6461065676; Sun, 3 Aug 2008 08:16:36 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5EFF71065674 for ; Sun, 3 Aug 2008 08:16:36 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4BB6D8FC1C for ; Sun, 3 Aug 2008 08:16:36 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m738GaMh080188 for ; Sun, 3 Aug 2008 08:16:36 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m738GZ5b080184 for perforce@freebsd.org; Sun, 3 Aug 2008 08:16:35 GMT (envelope-from pgj@FreeBSD.org) Date: Sun, 3 Aug 2008 08:16:35 GMT Message-Id: <200808030816.m738GZ5b080184@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 146503 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, 03 Aug 2008 08:16:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=146503 Change 146503 by pgj@disznohal on 2008/08/03 08:15:46 MFen: 1.116 -> 1.118 hu_HU.ISO8859-2/books/handbook/printing/chapter.sgml 1.324 -> 1.326 hu_HU.ISO8859-2/books/handbook/security/chapter.sgml 1.16 -> 1.17 hu_HU.ISO8859-2/books/handbook/virtualization/chapter.sgml Affected files ... .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/printing/chapter.sgml#6 edit .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/security/chapter.sgml#7 edit .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/virtualization/chapter.sgml#4 edit Differences ... ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/printing/chapter.sgml#6 (text+ko) ==== @@ -7,7 +7,7 @@ @@ -565,12 +565,14 @@ számítógép melyik párhuzamos portjára csatlakoztattuk a kábelt. &os; alatt az elsõ ilyen port a - ppc0 eszköz, a második - pedig a ppc1 eszköz lesz és - így tovább. A nyomtatóeszköz - elnevezése ugyanezt a sémát - követi: a /dev/lpt0 lesz az - elsõ párhuzamos porton levõ nyomtató + ppc0 eszköz, a + második pedig a ppc1 eszköz lesz + és így tovább. A + nyomtatóeszköz elnevezése ugyanezt a + sémát követi: a /dev/lpt0 lesz az elsõ + párhuzamos porton levõ nyomtató stb. @@ -733,7 +735,7 @@ használt rendszermag támogatja-e a soros csatolófelületet: - &prompt.root; grep sioN /var/run/dmesg.boot + &prompt.root; grep sioN /var/run/dmesg.boot Itt az N nullától kezdõdõen adja meg a soros @@ -750,7 +752,7 @@ támogatásáról így gyõzõdhetünk meg: - &prompt.root; grep ppcN /var/run/dmesg.boot + &prompt.root; grep ppcN /var/run/dmesg.boot Itt az N nullától kezdõdõen @@ -923,7 +925,7 @@ beállításához írjuk be: - &prompt.root; lptcontrol -i -d /dev/lptN + &prompt.root; lptcontrol /dev/lptN ahol az lptN a @@ -935,7 +937,7 @@ beállításához írjuk be: - &prompt.root; lptcontrol -p -d /dev/lptN + &prompt.root; lptcontrol /dev/lptN ahol az lptN a @@ -1049,7 +1051,7 @@ &man.lptest.1; programot. Ehhez gépeljük be: - &prompt.root; lptest > /dev/lptN + &prompt.root; lptest > /dev/lptN ahol az N nullától kezdõdõen a @@ -1062,7 +1064,7 @@ egy apró programot kell küldenünk neki. Ehhez írjuk be: - &prompt.root; cat > /dev/lptN + &prompt.root; cat > /dev/lptN Ezután soronként írjuk be a programot, de @@ -1081,7 +1083,7 @@ állományba is, amire aztán adjuk ki az alábbi parancsot: - &prompt.root; cat állomány > /dev/lptN + &prompt.root; cat állomány > /dev/lptN ahol az állomány a @@ -1129,7 +1131,7 @@ állományt. Tegyük hozzá a következõ sort: - printer:dv=/dev/port:br#bps:pa=paritás + printer:dv=/dev/port:br#bps:pa=paritás bit-per-másodperc soros port @@ -1155,7 +1157,7 @@ csatlakozik és nem használ paritást: - printer:dv=/dev/ttyd2:br#19200:pa=none + printer:dv=/dev/ttyd2:br#19200:pa=none @@ -1163,16 +1165,17 @@ &man.tip.1; segítségével. Ennek parancsa: - &prompt.root; tip printer + &prompt.root; tip printer Ha az iménti lépés nem mûködne, próbálkozzunk az /etc/remote állomány újbóli módosításával, és a - /dev/cuaaN - eszköz helyett használjuk a - /dev/ttydN + /dev/cuaaN + eszköz helyett használjuk a /dev/ttydN eszközt! @@ -1320,10 +1323,11 @@ Állítsunk be egy nyomtató - által használt /dev - könyvtárbeli leírót, és - az lp tulajdonsággal adjuk meg - az /etc/printcap + által használt /dev könyvtárbeli + leírót, és az lp + tulajdonsággal adjuk meg az + /etc/printcap állományban. Errõl részletesebben A nyomtatóeszköz @@ -1533,7 +1537,8 @@ A nyomtatási rendszer adatait tároló könyvtárakat tartalmuk gyakori változása miatt - általában a /var/spool + általában a /var/spool könyvtárba szokás tenni. Ezen könyvtárak tartalmát nem szükséges menteni sem. Az &man.mkdir.1; parancs @@ -1545,7 +1550,7 @@ könyvtárat az adott nyomtató nevén. Erre példa: - &prompt.root; mkdir /var/spool/nyomtatónév + &prompt.root; mkdir /var/spool/nyomtatónév Azonban ha a hálózatunkon rengeteg nyomtató található, akkor @@ -1553,9 +1558,9 @@ használni, amelyet az LPD számára tartunk fenn. - &prompt.root; mkdir /var/spool/lpd -&prompt.root; mkdir /var/spool/lpd/rattan -&prompt.root; mkdir /var/spool/lpd/bamboo + &prompt.root; mkdir /var/spool/lpd +&prompt.root; mkdir /var/spool/lpd/rattan +&prompt.root; mkdir /var/spool/lpd/bamboo Amennyiben fontos nekünk a @@ -1574,10 +1579,10 @@ példáinkban szereplõ nyomtatóinkhoz is: - &prompt.root; chown daemon:daemon /var/spool/lpd/rattan -&prompt.root; chown daemon:daemon /var/spool/lpd/bamboo -&prompt.root; chmod 770 /var/spool/lpd/rattan -&prompt.root; chmod 770 /var/spool/lpd/bamboo + &prompt.root; chown daemon:daemon /var/spool/lpd/rattan +&prompt.root; chown daemon:daemon /var/spool/lpd/bamboo +&prompt.root; chmod 770 /var/spool/lpd/rattan +&prompt.root; chmod 770 /var/spool/lpd/bamboo Végezetül az @@ -1592,10 +1597,10 @@ # /etc/printcap (rose) - a nyomtatási könyvtárak hozzáadása # rattan|line|diablo|lp|Diablo 630 Line Printer:\ - :sh:sd=/var/spool/lpd/rattan: + :sh:sd=/var/spool/lpd/rattan: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ - :sh:sd=/var/spool/lpd/bamboo: + :sh:sd=/var/spool/lpd/bamboo: Vegyük észre, hogy a nyomtató neve ugyan a sor elején kezdõdik, azonban a @@ -1604,10 +1609,10 @@ karakterrel választjuk le. Ha az sd tulajdonsággal nem - adunk meg semmilyen nyomtatási könyvtárat, - akkor ennek az értéke - alapértelmezés szerint a - /var/spool/lpd lesz. + adunk meg semmilyen nyomtatási + könyvtárat, akkor ennek az értéke + alapértelmezés szerint a /var/spool/lpd lesz. @@ -1618,9 +1623,9 @@ A Hardveres beállítás címû szakaszban már - beazonosítottuk, hogy a &os; a - /dev könyvtárban melyik - eszközleírón keresztül fogja + beazonosítottuk, hogy a &os; a /dev könyvtárban + melyik eszközleírón keresztül fogja megszólítani a nyomtatót. Most ideje ugyanezt tudatni az LPD démonnal is. Így amikor a nyomtatási @@ -1633,9 +1638,9 @@ Az lp tulajdonság segítségével a /etc/printcap állományban - soroljuk fel a nyomtatók /dev - könyvtárban található - leíróit. + soroljuk fel a nyomtatók /dev könyvtárban + található leíróit. Az eddig használt példánkban most tételezzük fel, hogy a rattan @@ -1652,20 +1657,21 @@ # beazonosítása # rattan|line|diablo|lp|Diablo 630 Line Printer:\ - :sh:sd=/var/spool/lpd/rattan:\ - :lp=/dev/lpt0: + :sh:sd=/var/spool/lpd/rattan:\ + :lp=/dev/lpt0: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ - :sh:sd=/var/spool/lpd/bamboo:\ - :lp=/dev/ttyd5: + :sh:sd=/var/spool/lpd/bamboo:\ + :lp=/dev/ttyd5: Az LPD - alapértelmezés szerint a - /dev/lp eszköz fogja + alapértelmezés szerint a /dev/lp eszköz fogja használni, ha nem adjuk meg az lp tulajdonságot az /etc/printcap - állományban. Az /dev/lp - azonban a &os;-ben jelenleg nem létezik. + állományban. Az /dev/lp azonban a &os;-ben + jelenleg nem létezik. Ha a telepítendõ nyomtatónk valamelyik párhuzamos portra csatlakozik, akkor innen @@ -1781,8 +1787,8 @@ legyen crtscts: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ - :sh:sd=/var/spool/lpd/bamboo:\ - :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts: + :sh:sd=/var/spool/lpd/bamboo:\ + :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts: @@ -1859,7 +1865,7 @@ Tegyük indíthatóvá: - &prompt.root; chmod 555 /usr/local/libexec/if-simple + &prompt.root; chmod 555 /usr/local/libexec/if-simple Ezután tájékoztassuk róla az LPD-t az @@ -1873,14 +1879,14 @@ # /etc/printcap (rose) - a szövegszûrõ hozzáadása # rattan|line|diablo|lp|Diablo 630 Line Printer:\ - :sh:sd=/var/spool/lpd/rattan:\ - :lp=/dev/lpt0:\ - :if=/usr/local/libexec/if-simple: + :sh:sd=/var/spool/lpd/rattan:\ + :lp=/dev/lpt0:\ + :if=/usr/local/libexec/if-simple: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ - :sh:sd=/var/spool/lpd/bamboo:\ - :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:\ - :if=/usr/local/libexec/if-simple: + :sh:sd=/var/spool/lpd/bamboo:\ + :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:\ + :if=/usr/local/libexec/if-simple: Az if-simple szkript @@ -1910,7 +1916,7 @@ számítógépünket, vagy pedig adjuk ki az &man.lpd.8; parancsot: - &prompt.root; lpd + &prompt.root; lpd @@ -1945,7 +1951,7 @@ Írjuk be: - &prompt.root; lptest 20 5 | lpr -Pnyomtatónév + &prompt.root; lptest 20 5 | lpr nyomtatónév ahol a nyomtatónév az @@ -1970,11 +1976,11 @@ használjuk, valami ilyesmire kell számítanunk: - !"#$%&'()*+,-./01234 + !"#$%&'()*+,-./01234 "#$%&'()*+,-./012345 #$%&'()*+,-./0123456 $%&'()*+,-./01234567 -%&'()*+,-./012345678 +%&'()*+,-./012345678 A nyomtató kimerítõbb teszteléséhez próbáljunk meg @@ -2117,22 +2123,23 @@ A Konverziós - szûrõk címû szakaszban - eláruljuk, miként lehetséges - automatizálni a különbözõ + linkend="printing-advanced-convfilters">Konverziós szûrõk + címû szakaszban eláruljuk, miként + lehetséges automatizálni a + különbözõ állományformátumok és a nyomtatók által érthetõ formátumok közti konverziókat, legyen az grafikus vagy betûszedésre vonatkozó adat. A szakasz elolvasása során megismerjük, hogyan tudjuk a nyomtatónkat - képessé tenni az lpr -t - paranccsal troff adatok, vagy a lpr -d + képessé tenni az + lpr paranccsal troff + adatok, vagy a lpr paranccsal a &tex; DVI állományainak, esetleg - az lpr -v paranccsal raszteres - képek nyomtatására és így - tovább. Csak ajánlani tudjuk ennek + az lpr paranccsal + raszteres képek nyomtatására és + így tovább. Csak ajánlani tudjuk ennek elolvasását. @@ -2207,17 +2214,17 @@ állományban felsoroltak vagy az &man.lpr.1; parancssorában megadottak szerint választja ki. Például, ha a felhasználó a - lpr -t parancsot adja ki, akkor az - LPD a célként - megadott nyomtatónál szereplõ - tf tulajdonság által megadott - troff szûrõt kezdi el használni. Amennyiben - a felhasználó egyszerûen csak nyers - szöveget akar nyomtatni, akkor az if - szûrõnek kellene elindulnia (ez viszont csak - részben igaz: lásd Kimeneti - szûrõk) + lpr parancsot adja ki, + akkor az LPD a + célként megadott nyomtatónál + szereplõ tf tulajdonság + által megadott troff szûrõt kezdi el + használni. Amennyiben a felhasználó + egyszerûen csak nyers szöveget akar nyomtatni, akkor + az if szûrõnek kellene elindulnia + (ez viszont csak részben igaz: lásd Kimeneti szûrõk). + Háromfajta szûrõ jelenhet meg az /etc/printcap @@ -2276,8 +2283,8 @@ akkor jelenik meg, ha egy munkát az - lpr -l paranccsal adunk - át + lpr + paranccsal adunk át @@ -2308,8 +2315,8 @@ behúzás - az lpr -i parancs - megadása során használt + az lpr + parancs megadása során használt behúzás mértéke, ami alapból 0 @@ -2569,7 +2576,7 @@ ezt kell beírnunk az /etc/printcap állományba: - :if=/usr/local/libexec/psif: + :if=/usr/local/libexec/psif: Ezenkívül még az rw tulajdonsággal meg kell mondanunk az @@ -2682,8 +2689,9 @@ paraméterét a neki megfelelõre. (A telepített Ghostscript által ismert - nyomtatók listáját a gs - -h paranccsal kérdezhetjük le.) + nyomtatók listáját a + gs paranccsal + kérdezhetjük le.) #!/bin/sh # @@ -2725,11 +2733,12 @@ szûrõrõl az LPD-t is: - :if=/usr/local/libexec/ifhp: + :if=/usr/local/libexec/ifhp: Készen is vagyunk! Most már nyugodtan beírhatjuk, hogy - lpr sima.szöveg vagy + lpr sima.szöveg + vagy lpr akármi.ps, mind a kettõnek ki kell tudnia nyomtatódnia. @@ -2771,8 +2780,8 @@ nyomtatóra küldeni. Ehhez a következõ parancsokat kell kiadnunk: - &prompt.user; dvips hínár-elemzés.dvi -&prompt.user; lpr hínár-elemzés.ps + &prompt.user; dvips hínár-elemzés.dvi +&prompt.user; lpr hínár-elemzés.ps Ha telepítünk egy konverziós szûrõt a DVI állományokhoz, meg @@ -2785,7 +2794,7 @@ lépésre lesz szükségünk: - &prompt.user; lpr -d hínár-elemzés.dvi + &prompt.user; lpr hínár-elemzés.dvi Az LPD-nek a paraméterrel adjuk meg, hogy a @@ -2900,9 +2909,10 @@ - A példánkban tehát a lpr - -d parancs használata arra utal, hogy a - nyomtatónak az /etc/printcap + A példánkban tehát a + lpr parancs + használata arra utal, hogy a nyomtatónak az + /etc/printcap állományból a df tulajdonságára van szüksége. @@ -2925,8 +2935,9 @@ Ezért a gf tulajdonságnak megadhatunk egy Printerleaf konverziós szûrõt, amelyen keresztül aztán a - felhasználók az lpr -g - paranccsal Printerleaf állományokat tudnak + felhasználók az + lpr paranccsal + Printerleaf állományokat tudnak nyomtatni. @@ -2969,15 +2980,15 @@ # nevû nyomtatóhoz # rattan|line|diablo|lp|Diablo 630 Line Printer:\ - :sh:sd=/var/spool/lpd/rattan:\ - :lp=/dev/lpt0:\ - :if=/usr/local/libexec/if-simple: + :sh:sd=/var/spool/lpd/rattan:\ + :lp=/dev/lpt0:\ + :if=/usr/local/libexec/if-simple: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ - :sh:sd=/var/spool/lpd/bamboo:\ - :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:\ - :if=/usr/local/libexec/psif:\ - :df=/usr/local/libexec/psdf: + :sh:sd=/var/spool/lpd/bamboo:\ + :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:\ + :if=/usr/local/libexec/psif:\ + :df=/usr/local/libexec/psdf: A DVI szûrõ ebben az esetben a /usr/local/libexec/psdf néven @@ -3053,9 +3064,9 @@ # /etc/printcap (orchid) # teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\ - :lp=/dev/lpt0:sh:sd=/var/spool/lpd/teak:mx#0:\ - :if=/usr/local/libexec/hpif:\ - :vf=/usr/local/libexec/hpvf: + :lp=/dev/lpt0:sh:sd=/var/spool/lpd/teak:mx#0:\ + :if=/usr/local/libexec/hpif:\ + :vf=/usr/local/libexec/hpvf: A most következõ szkript a groff betûszedû rendszerbõl érkezõ @@ -3115,7 +3126,7 @@ beírásával tudjuk engedélyezni ezt a szûrõt: - :rf=/usr/local/libexec/hprf: + :rf=/usr/local/libexec/hprf: Most pedig következzen egy utolsó, de az eddigieknél valamivel összetettebb példa. @@ -3128,7 +3139,7 @@ állományt a DVI szûrõ helyének megadásával: - :df=/usr/local/libexec/hpdf: + :df=/usr/local/libexec/hpdf: Ezután következzék a nehezebb rész: a szûrõ @@ -3155,27 +3166,28 @@ egy állománnyal akar dolgozni. Sõt, olyan állománnyal, amelynek .dvi kiterjesztése van, - ezért még a /dev/fd/0 - (vagyis a szabványos bemenethez tartozó + ezért még a /dev/fd/0 (vagyis a + szabványos bemenethez tartozó eszközleíró) használata is akadályokba ütközik. Üröm még az örömünkben, - hogy a /tmp könyvtárat sem - tudjuk felhasználni ideiglenes link - létrehozására: a szimbolikus linkeket a - bin felhasználó és - csoport birtokolja, a szûrõt pedig a - daemon felhasználó - futtatja. A /tmp - könyvtárban rááadásul csak - a tulajdonosaik képesek állományokat - átnevezni vagy törölni (sticky bit). - Ezért a szûrõ ugyan létre tudna - hozni egy linket, azonban ezt a munkája - végeztével nem lesz majd képes - törölni, mivel a link egy másik - felhasználóhoz tartozik. + hogy a /tmp + könyvtárat sem tudjuk felhasználni + ideiglenes link létrehozására: a + szimbolikus linkeket a bin + felhasználó és csoport birtokolja, a + szûrõt pedig a daemon + felhasználó futtatja. A /tmp könyvtárban + rááadásul csak a tulajdonosaik + képesek állományokat átnevezni + vagy törölni (sticky bit). Ezért a + szûrõ ugyan létre tudna hozni egy linket, + azonban ezt a munkája végeztével nem + lesz majd képes törölni, mivel a link egy + másik felhasználóhoz tartozik. Ezért a szûrõ az aktuális könyvtárban fogja létrehozni ezt a @@ -3186,8 +3198,9 @@ sd tulajdonságával adjuk meg). Itt remekül el tudják végezni a feladataikat a szûrõk, különösen - mivel (néha) több hely van itt, mint a - /tmp könyvtárban. + mivel (néha) több hely van itt, mint a /tmp + könyvtárban. Végül lássuk magát a szûrõt: @@ -3466,11 +3479,12 @@ A &os; bináris terjesztéséhez mellékelt /usr/libexec/lpr/lpf program egy szövegszûrõ (bemeneti - szûrõ), amely képes (az lpr - -i paranccsal hozzáadott munkákat) - tabulálni, (az lpr -l paranccsal - felvett munkákban) a vezérlõkaraktereket - figyelemen kívül hagyni, a munkában + szûrõ), amely képes (az + lpr paranccsal + hozzáadott munkákat) tabulálni, (az + lpr paranccsal felvett + munkákban) a vezérlõkaraktereket figyelemen + kívül hagyni, a munkában elõforduló törlések és behúzások nyomtatási pozícióját igazítani és @@ -3613,22 +3627,22 @@ # /etc/printcap (orchid) # teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\ - :lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:\ - :if=/usr/local/libexec/hpif:\ - :vf=/usr/local/libexec/hpvf:\ - :of=/usr/local/libexec/hpof: + :lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:\ + :if=/usr/local/libexec/hpif:\ + :vf=/usr/local/libexec/hpvf:\ + :of=/usr/local/libexec/hpof: Mostantól kezdve, amikor a felhasználók a teak nyomtatón akarnak nyomtatni, minden munkához kapni fognak egy fejléclapot. Amennyiben a kedves felhasználók mégis keresgetni - akarják a nyomtatásaikat, az lpr - -h paranccsal tetszõleges módon - letilthatják azokat. Az &man.lpr.1; többi - hasonló opcióját A fejléclapokhoz - tartozó beállítások + akarják a nyomtatásaikat, az + lpr paranccsal + tetszõleges módon letilthatják azokat. Az + &man.lpr.1; többi hasonló opcióját + A fejléclapokhoz tartozó beállítások szakaszban találjuk. @@ -3659,7 +3673,7 @@ outline elnevezésû munkát): - k ll ll + k ll ll k l l k l l k k eeee l l y y @@ -3705,7 +3719,7 @@ Job: outline - Date: Sun Sep 17 11:04:58 1995 + Date: Sun Sep 17 11:04:58 1995 Ezt követõen az LPD elküld még egy lapdobást is, ezért @@ -3725,7 +3739,7 @@ készítésére is. Ilyenkor a fejléclap tartalma mindössze ennyi lesz: - rose:kelly Job: outline Date: Sun Sep 17 11:07:51 1995 + rose:kelly Job: outline Date: Sun Sep 17 11:07:51 1995 Alapértelmezés szerint az LPD elõször a @@ -3765,10 +3779,11 @@ konverziós szûrõkben (ahol már rendelkezésünkre állnak a felhasználó és a gépének - adatai) hozzátoldunk még egy - lapot a munkához, mivel a - felhasználók az lpr -h - parancs használatával kedvük szerint + adatai) növeljük a lapok számát + eggyel a munkában, mivel a + felhasználók az + lpr parancs + használatával kedvük szerint letilthatják a fejléclapokat. Ezt ugyan alapvetõen a természetet óvni kívánó felhasználók @@ -3780,7 +3795,8 @@ szûrõ létrehozza a saját fejlécét (amiért aztán pénzt kérhetnénk). Mivel ha a - felhasználók az lpr -h + felhasználók az + lpr paranccsal le akarják tiltani a fejlécek használatát, attól a szûrõkhöz még mindig @@ -3889,8 +3905,9 @@ állítani a megfelelõ fejléclapot. A megoldás hátránya, hogy ez még olyankor is megtörténik, amikor a - felhasználók az lpr -h - paranccsal küldik a munkájukat. + felhasználók az + lpr paranccsal + küldik a munkájukat. Kísérletezzünk egy kicsit ezzel a módszerrel! A most következõ szkript @@ -4055,15 +4072,15 @@ kimeneti szûrõt, amely megkeresi az LPD-vel generált fejléceket és létrehozza azok &postscript; változatát. Ha valaki az - lpr -h paranccsal küld - nyomtatnivalót, akkor LPD - nem készít hozzá fejléclapot, - ahogy a kimeneti szûrõnk sem. A kimeneti - szûrõ minden más esetben beolvassa az - LPD által küldött - szöveget és átküldi a neki - megfelelõ &postscript; kódot a - nyomtatóra. + lpr paranccsal + küld nyomtatnivalót, akkor + LPD nem készít + hozzá fejléclapot, ahogy a kimeneti + szûrõnk sem. A kimeneti szûrõ minden + más esetben beolvassa az LPD + által küldött szöveget és + átküldi a neki megfelelõ &postscript; + kódot a nyomtatóra. Ha soros &postscript; nyomtatónk van, akkor használhatjuk a psof kimeneti @@ -4315,30 +4332,30 @@ # csatlakozik: # teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\ - :lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:\ - :if=/usr/local/libexec/ifhp:\ - :vf=/usr/local/libexec/vfhp:\ - :of=/usr/local/libexec/ofhp: + :lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:\ + :if=/usr/local/libexec/ifhp:\ + :vf=/usr/local/libexec/vfhp:\ + :of=/usr/local/libexec/ofhp: # # A "rattan" rose-hoz csatlakozik, így küldhetünk neki munkát: # rattan|line|diablo|lp|Diablo 630 Line Printer:\ - :lp=:rm=rose:rp=rattan:sd=/var/spool/lpd/rattan: + :lp=:rm=rose:rp=rattan:sd=/var/spool/lpd/rattan: # # A "bamboo" is a rose-hoz tartozik: # bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ - :lp=:rm=rose:rp=bamboo:sd=/var/spool/lpd/bamboo: + :lp=:rm=rose:rp=bamboo:sd=/var/spool/lpd/bamboo: Ezután más csak létre kell hoznunk a megfelelõ nyomtatási könyvtárakat az orchid nevû gépen: - &prompt.root; mkdir -p /var/spool/lpd/rattan /var/spool/lpd/bamboo -&prompt.root; chmod 770 /var/spool/lpd/rattan /var/spool/lpd/bamboo -&prompt.root; chown daemon:daemon /var/spool/lpd/rattan /var/spool/lpd/bamboo + &prompt.root; mkdir /var/spool/lpd/rattan /var/spool/lpd/bamboo +&prompt.root; chmod 770 /var/spool/lpd/rattan /var/spool/lpd/bamboo +&prompt.root; chown daemon:daemon /var/spool/lpd/rattan /var/spool/lpd/bamboo Mostantól kezdve az orchid felhasználói képesek lesznek nyomtatni a @@ -4347,7 +4364,7 @@ orchid egyik felhasználója beírja, hogy: - &prompt.user; lpr -P bamboo -d sushi-leírás.dvi + &prompt.user; lpr bamboo sushi-leírás.dvi Az orchid gépen mûködõ LPD rendszer @@ -4503,8 +4520,9 @@ egy állományt könnyen ki tudnak nyomtatni akár többször is. Ha (például) a felhasználó egy munka - nyomtatásához az lpr -#5 - parancsot használja, akkor a munkában levõ + nyomtatásához az + lpr parancsot + használja, akkor a munkában levõ összes állományból öt példányt kap. Ennek létjogosultságát azonban nekünk kell @@ -4567,15 +4585,15 @@ # nevû nyomtatón # rattan|line|diablo|lp|Diablo 630 Line Printer:\ - :sh:sd=/var/spool/lpd/rattan:\ - :lp=/dev/lpt0:\ - :if=/usr/local/libexec/if-simple: + :sh:sd=/var/spool/lpd/rattan:\ + :lp=/dev/lpt0:\ + :if=/usr/local/libexec/if-simple: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ - :sh:sd=/var/spool/lpd/bamboo:sc:\ - :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:\ - :if=/usr/local/libexec/psif:\ - :df=/usr/local/libexec/psdf: + :sh:sd=/var/spool/lpd/bamboo:sc:\ + :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:\ + :if=/usr/local/libexec/psif:\ + :df=/usr/local/libexec/psdf: Az sc tulajdonságot az orchid /etc/printcap @@ -4587,20 +4605,20 @@ # /etc/printcap (orchid) - Nincsenek másodpéldányok sem a helyi # "teak" nyomtatón, sem pedig a távoli "bamboo" nyomtatón teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\ - :lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:sc:\ - :if=/usr/local/libexec/ifhp:\ - :vf=/usr/local/libexec/vfhp:\ - :of=/usr/local/libexec/ofhp: + :lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:sc:\ + :if=/usr/local/libexec/ifhp:\ + :vf=/usr/local/libexec/vfhp:\ + :of=/usr/local/libexec/ofhp: rattan|line|diablo|lp|Diablo 630 Line Printer:\ - :lp=:rm=rose:rp=rattan:sd=/var/spool/lpd/rattan: + :lp=:rm=rose:rp=rattan:sd=/var/spool/lpd/rattan: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ - :lp=:rm=rose:rp=bamboo:sd=/var/spool/lpd/bamboo:sc: + :lp=:rm=rose:rp=bamboo:sd=/var/spool/lpd/bamboo:sc: Az sc tulajdonság használatával ugyan megakadályozzuk az - lpr -# parancs + lpr parancs teljesítését, azonban ez még mindig nem óv minket attól, hogy a felhasználók képesek legyenek @@ -4609,7 +4627,7 @@ munkában több állományt is elküldeni: - &prompt.user; lpr forsale.sign forsale.sign forsale.sign forsale.sign forsale.sign + &prompt.user; lpr forsale.sign forsale.sign forsale.sign forsale.sign forsale.sign Számos módszer kínálkozik az effajta visszaélések @@ -4678,15 +4696,15 @@ # /etc/printcap (rose) - A bamboo hozzáférésének korlátozása # rattan|line|diablo|lp|Diablo 630 Line Printer:\ - :sh:sd=/var/spool/lpd/rattan:\ - :lp=/dev/lpt0:\ - :if=/usr/local/libexec/if-simple: + :sh:sd=/var/spool/lpd/rattan:\ + :lp=/dev/lpt0:\ + :if=/usr/local/libexec/if-simple: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ - :sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:\ - :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:\ - :if=/usr/local/libexec/psif:\ - :df=/usr/local/libexec/psdf: + :sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:\ + :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:\ + :if=/usr/local/libexec/psif:\ + :df=/usr/local/libexec/psdf: Most ne bántsuk a másik (az orchid nevû gépen levõ) @@ -4775,18 +4793,18 @@ # Itt nincs korlát a munkákra: # rattan|line|diablo|lp|Diablo 630 Line Printer:\ - :sh:mx#0:sd=/var/spool/lpd/rattan:\ - :lp=/dev/lpt0:\ - :if=/usr/local/libexec/if-simple: + :sh:mx#0:sd=/var/spool/lpd/rattan:\ + :lp=/dev/lpt0:\ + :if=/usr/local/libexec/if-simple: # # Öt megabyte a PostScript: # bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ - :sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:mx#5000:\ - :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:\ - :if=/usr/local/libexec/psif:\ - :df=/usr/local/libexec/psdf: + :sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:mx#5000:\ + :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:\ + :if=/usr/local/libexec/psif:\ + :df=/usr/local/libexec/psdf: Ismét hozzátesszük, hogy ezek a korlátok csak a helyi felhasználókra @@ -4929,10 +4947,10 @@ bejegyzését: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ - :sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:mx#5000:\ - :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:mx#5000:\ - :if=/usr/local/libexec/psif:\ - :df=/usr/local/libexec/psdf: + :sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:mx#5000:\ + :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:mx#5000:\ + :if=/usr/local/libexec/psif:\ + :df=/usr/local/libexec/psdf: A nyomtatási könyvtárat az sd tulajdonság @@ -4944,8 +4962,7 @@ megabyte (6144 blokk) szabad területnek mindig lennie kell: - &prompt.root; echo 6144 > /var/spool/lpd/bamboo/minfree - + &prompt.root; echo 6144 > /var/spool/lpd/bamboo/minfree @@ -5313,10 +5330,10 @@ felhasználók kinyomtatott oldalait. Ha nekünk viszont nem számít, hogy honnan küldték a kéréseket (mivel - bárhonnan lehet küldeni), akkor a pac - -m paranccsal az alábbi - táblázatot készítetthetjük - el: + bárhonnan lehet küldeni), akkor a + pac paranccsal az + alábbi táblázatot + készítetthetjük el: Login pages/feet runs price andy 2.00 1 $ 0.04 @@ -5344,7 +5361,7 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Aug 3 09:19:40 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 98E371065673; Sun, 3 Aug 2008 09:19:40 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5BFD8106564A for ; Sun, 3 Aug 2008 09:19:40 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 47CF08FC16 for ; Sun, 3 Aug 2008 09:19:40 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m739Jeaj095384 for ; Sun, 3 Aug 2008 09:19:40 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m739JeVj095382 for perforce@freebsd.org; Sun, 3 Aug 2008 09:19:40 GMT (envelope-from hselasky@FreeBSD.org) Date: Sun, 3 Aug 2008 09:19:40 GMT Message-Id: <200808030919.m739JeVj095382@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 146504 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, 03 Aug 2008 09:19:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=146504 Change 146504 by hselasky@hselasky_laptop001 on 2008/08/03 09:18:57 Style patch from Andrew Thompson. Make the debugging macros more inline with existing systems. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/bluetooth/ng_ubt2.c#5 edit .. //depot/projects/usb/src/sys/dev/usb2/bluetooth/ubtbcmfw2.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/at91dci.c#6 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/ehci2.c#8 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/ohci2.c#5 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/uhci2.c#6 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/usb2_controller.c#7 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/uss820dci.c#5 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_config_td.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_debug.h#3 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_dev.c#18 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.c#15 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_generic.c#16 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_handle_request.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_hid.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_hub.c#12 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_msctest.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_process.c#5 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_request.c#10 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_sw_transfer.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_transfer.c#14 edit .. //depot/projects/usb/src/sys/dev/usb2/ethernet/if_aue2.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/ethernet/if_axe2.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/ethernet/if_cdce2.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/ethernet/if_cue2.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/ethernet/if_kue2.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/ethernet/if_rue2.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/ethernet/if_udav2.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/image/uscanner2.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/input/uhid2.c#5 edit .. //depot/projects/usb/src/sys/dev/usb2/input/ukbd2.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/input/ums2.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/misc/udbp2.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/quirk/usb2_quirk.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/serial/uark2.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/serial/ubsa2.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/serial/ubser2.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/serial/uchcom2.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/serial/ucycom2.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/serial/ufoma2.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/serial/uftdi2.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/serial/ugensa2.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/serial/uipaq2.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/serial/ulpt2.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/serial/umct2.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/serial/umodem2.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/serial/umoscom2.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/serial/uplcom2.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/serial/usb2_serial.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/serial/uvisor2.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/serial/uvscom2.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/sound/uaudio2.c#9 edit .. //depot/projects/usb/src/sys/dev/usb2/storage/urio2.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/storage/ustorage2_fs.c#5 edit .. //depot/projects/usb/src/sys/dev/usb2/template/usb2_template.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/wlan/if_rum2.c#6 edit .. //depot/projects/usb/src/sys/dev/usb2/wlan/if_ural2.c#7 edit .. //depot/projects/usb/src/sys/dev/usb2/wlan/if_zyd2.c#7 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/bluetooth/ng_ubt2.c#5 (text+ko) ==== @@ -812,7 +812,7 @@ struct usb2_xfer *xfer_other = sc->sc_xfer_if_0[2]; if (usb2_clear_stall_callback(xfer, xfer_other)) { - DPRINTF(0, "stall cleared\n"); + DPRINTF("stall cleared\n"); sc->sc_flags &= ~UBT_FLAG_INTR_STALL; usb2_transfer_start(xfer_other); } @@ -966,7 +966,7 @@ struct usb2_xfer *xfer_other = sc->sc_xfer_if_0[1]; if (usb2_clear_stall_callback(xfer, xfer_other)) { - DPRINTF(0, "stall cleared\n"); + DPRINTF("stall cleared\n"); sc->sc_flags &= ~UBT_FLAG_READ_STALL; usb2_transfer_start(xfer_other); } @@ -1115,7 +1115,7 @@ struct usb2_xfer *xfer_other = sc->sc_xfer_if_0[0]; if (usb2_clear_stall_callback(xfer, xfer_other)) { - DPRINTF(0, "stall cleared\n"); + DPRINTF("stall cleared\n"); sc->sc_flags &= ~UBT_FLAG_WRITE_STALL; usb2_transfer_start(xfer_other); } ==== //depot/projects/usb/src/sys/dev/usb2/bluetooth/ubtbcmfw2.c#4 (text+ko) ==== @@ -301,7 +301,7 @@ struct usb2_xfer *xfer_other = sc->sc_xfer[0]; if (usb2_clear_stall_callback(xfer, xfer_other)) { - DPRINTF(0, "stall cleared\n"); + DPRINTF("stall cleared\n"); sc->sc_flags &= ~UBTBCMFW_FLAG_WRITE_STALL; usb2_transfer_start(xfer_other); } @@ -347,7 +347,7 @@ struct usb2_xfer *xfer_other = sc->sc_xfer[1]; if (usb2_clear_stall_callback(xfer, xfer_other)) { - DPRINTF(0, "stall cleared\n"); + DPRINTF("stall cleared\n"); sc->sc_flags &= ~UBTBCMFW_FLAG_READ_STALL; usb2_transfer_start(xfer_other); } ==== //depot/projects/usb/src/sys/dev/usb2/controller/at91dci.c#6 (text+ko) ==== @@ -203,7 +203,7 @@ if (sc->sc_flags.clocks_off && sc->sc_flags.port_powered) { - DPRINTF(4, "\n"); + DPRINTFN(5, "\n"); if (sc->sc_clocks_on) { (sc->sc_clocks_on) (sc->sc_clocks_arg); @@ -221,7 +221,7 @@ { if (!sc->sc_flags.clocks_off) { - DPRINTF(4, "\n"); + DPRINTFN(5, "\n"); /* disable Transceiver */ AT91_UDP_WRITE_4(sc, AT91_UDP_TXVC, AT91_UDP_TXVC_DIS); @@ -283,7 +283,7 @@ struct at91dci_softc *sc; uint32_t temp; - DPRINTF(4, "is_on=%u\n", is_on); + DPRINTFN(5, "is_on=%u\n", is_on); mtx_assert(&(udev->bus->mtx), MA_OWNED); @@ -305,7 +305,7 @@ static void at91dci_set_address(struct at91dci_softc *sc, uint8_t addr) { - DPRINTF(4, "addr=%d\n", addr); + DPRINTFN(5, "addr=%d\n", addr); AT91_UDP_WRITE_4(sc, AT91_UDP_FADDR, addr | AT91_UDP_FADDR_EN); @@ -326,7 +326,7 @@ csr = bus_space_read_4(td->io_tag, td->io_hdl, td->status_reg); - DPRINTF(4, "csr=0x%08x rem=%u\n", csr, td->remainder); + DPRINTFN(5, "csr=0x%08x rem=%u\n", csr, td->remainder); temp = csr; temp &= (AT91_UDP_CSR_RX_DATA_BK0 | @@ -338,7 +338,7 @@ if (!(csr & AT91_UDP_CSR_RXSETUP)) { /* abort any ongoing transfer */ if (!td->did_stall) { - DPRINTF(4, "stalling\n"); + DPRINTFN(5, "stalling\n"); temp |= AT91_UDP_CSR_FORCESTALL; td->did_stall = 1; } @@ -349,12 +349,12 @@ /* verify data length */ if (count != td->remainder) { - DPRINTF(-1, "Invalid SETUP packet " + DPRINTFN(0, "Invalid SETUP packet " "length, %d bytes\n", count); goto not_complete; } if (count != sizeof(req)) { - DPRINTF(-1, "Unsupported SETUP packet " + DPRINTFN(0, "Unsupported SETUP packet " "length, %d bytes\n", count); goto not_complete; } @@ -395,7 +395,7 @@ not_complete: /* clear interrupts, if any */ if (temp) { - DPRINTF(4, "clearing 0x%08x\n", temp); + DPRINTFN(5, "clearing 0x%08x\n", temp); AT91_CSR_ACK(csr, temp); bus_space_write_4(td->io_tag, td->io_hdl, td->status_reg, csr); @@ -423,7 +423,7 @@ csr = bus_space_read_4(td->io_tag, td->io_hdl, td->status_reg); - DPRINTF(4, "csr=0x%08x rem=%u\n", csr, td->remainder); + DPRINTFN(5, "csr=0x%08x rem=%u\n", csr, td->remainder); if (csr & AT91_UDP_CSR_RXSETUP) { if (td->remainder == 0) { @@ -431,7 +431,7 @@ * We are actually complete and have * received the next SETUP */ - DPRINTF(4, "faking complete\n"); + DPRINTFN(5, "faking complete\n"); return (0); /* complete */ } /* @@ -548,7 +548,7 @@ csr = bus_space_read_4(td->io_tag, td->io_hdl, td->status_reg); - DPRINTF(4, "csr=0x%08x rem=%u\n", csr, td->remainder); + DPRINTFN(5, "csr=0x%08x rem=%u\n", csr, td->remainder); if (csr & AT91_UDP_CSR_RXSETUP) { /* @@ -633,10 +633,10 @@ csr = bus_space_read_4(td->io_tag, td->io_hdl, td->status_reg); - DPRINTF(4, "csr=0x%08x\n", csr); + DPRINTFN(5, "csr=0x%08x\n", csr); if (csr & AT91_UDP_CSR_RXSETUP) { - DPRINTF(4, "faking complete\n"); + DPRINTFN(5, "faking complete\n"); /* Race condition */ return (0); /* complete */ } @@ -684,7 +684,7 @@ struct at91dci_td *td; uint8_t temp; - DPRINTF(8, "\n"); + DPRINTFN(9, "\n"); td = xfer->td_transfer_cache; while (1) { @@ -758,7 +758,7 @@ { struct at91dci_softc *sc = AT9100_DCI_BUS2SC(bus); - DPRINTF(4, "vbus = %u\n", is_on); + DPRINTFN(5, "vbus = %u\n", is_on); mtx_lock(&(sc->sc_bus.mtx)); if (is_on) { @@ -812,7 +812,7 @@ if (status & AT91_UDP_INT_BUS) { - DPRINTF(4, "real bus interrupt 0x%08x\n", status); + DPRINTFN(5, "real bus interrupt 0x%08x\n", status); if (status & AT91_UDP_INT_END_BR) { @@ -869,7 +869,7 @@ if (status & AT91_UDP_INT_EPS) { - DPRINTF(4, "real endpoint interrupt 0x%08x\n", status); + DPRINTFN(5, "real endpoint interrupt 0x%08x\n", status); at91dci_interrupt_poll(sc); } @@ -912,7 +912,7 @@ uint32_t x; uint8_t ep_no; - DPRINTF(8, "addr=%d endpt=%d sumlen=%d speed=%d\n", + DPRINTFN(9, "addr=%d endpt=%d sumlen=%d speed=%d\n", xfer->address, UE_GET_ADDR(xfer->endpoint), xfer->sumlen, usb2_get_speed(xfer->udev)); @@ -1044,7 +1044,7 @@ struct usb2_xfer *xfer = arg; struct at91dci_softc *sc = xfer->usb2_sc; - DPRINTF(0, "xfer=%p\n", xfer); + DPRINTF("xfer=%p\n", xfer); mtx_assert(&sc->sc_bus.mtx, MA_OWNED); @@ -1059,7 +1059,7 @@ static void at91dci_start_standard_chain(struct usb2_xfer *xfer) { - DPRINTF(8, "\n"); + DPRINTFN(9, "\n"); /* poll one time */ if (at91dci_xfer_do_fifo(xfer)) { @@ -1074,7 +1074,7 @@ */ AT91_UDP_WRITE_4(sc, AT91_UDP_IER, AT91_UDP_INT_EP(ep_no)); - DPRINTF(14, "enable interrupts on endpoint %d\n", ep_no); + DPRINTFN(15, "enable interrupts on endpoint %d\n", ep_no); /* put transfer on interrupt queue */ usb2_transfer_enqueue(&(xfer->udev->bus->intr_q), xfer); @@ -1094,7 +1094,7 @@ { struct at91dci_softc *sc = xfer->usb2_sc; - DPRINTF(8, "\n"); + DPRINTFN(9, "\n"); mtx_assert(&sc->sc_bus.mtx, MA_OWNED); @@ -1123,7 +1123,7 @@ uint32_t len; uint8_t error; - DPRINTF(8, "\n"); + DPRINTFN(9, "\n"); td = xfer->td_transfer_cache; @@ -1185,7 +1185,7 @@ { usb2_error_t err = 0; - DPRINTF(12, "xfer=%p pipe=%p transfer done\n", + DPRINTFN(13, "xfer=%p pipe=%p transfer done\n", xfer, xfer->pipe); /* reset scanner */ @@ -1238,7 +1238,7 @@ mtx_assert(&sc->sc_bus.mtx, MA_OWNED); - DPRINTF(1, "xfer=%p, pipe=%p, error=%d\n", + DPRINTFN(2, "xfer=%p, pipe=%p, error=%d\n", xfer, xfer->pipe, error); if (xfer->flags_int.usb2_mode == USB_MODE_DEVICE) { @@ -1247,7 +1247,7 @@ /* disable endpoint interrupt */ AT91_UDP_WRITE_4(sc, AT91_UDP_IDR, AT91_UDP_INT_EP(ep_no)); - DPRINTF(14, "disable interrupts on endpoint %d\n", ep_no); + DPRINTFN(15, "disable interrupts on endpoint %d\n", ep_no); } /* dequeue transfer and start next transfer */ usb2_transfer_done(xfer, error); @@ -1264,7 +1264,7 @@ mtx_assert(&(udev->bus->mtx), MA_OWNED); - DPRINTF(4, "pipe=%p\n", pipe); + DPRINTFN(5, "pipe=%p\n", pipe); if (xfer) { /* cancel any ongoing transfers */ @@ -1384,7 +1384,7 @@ struct at91dci_softc *sc; struct usb2_endpoint_descriptor *ed; - DPRINTF(4, "pipe=%p\n", pipe); + DPRINTFN(5, "pipe=%p\n", pipe); mtx_assert(&(udev->bus->mtx), MA_OWNED); @@ -1413,7 +1413,7 @@ uint32_t csr_val; uint8_t n; - DPRINTF(0, "start\n"); + DPRINTF("start\n"); /* set up the bus structure */ sc->sc_bus.usbrev = USB_REV_1_1; @@ -1666,7 +1666,7 @@ uint32_t temp; uint32_t nframes; - DPRINTF(5, "xfer=%p next=%d nframes=%d\n", + DPRINTFN(6, "xfer=%p next=%d nframes=%d\n", xfer, xfer->pipe->isoc_next, xfer->nframes); /* get the current frame index */ @@ -1689,7 +1689,7 @@ */ xfer->pipe->isoc_next = (nframes + 3) & AT91_UDP_FRM_MASK; xfer->pipe->is_synced = 1; - DPRINTF(2, "start next=%d\n", xfer->pipe->isoc_next); + DPRINTFN(3, "start next=%d\n", xfer->pipe->isoc_next); } /* * compute how many milliseconds the insertion is ahead of the @@ -2143,7 +2143,7 @@ if (index != 1) { goto tr_stalled; } - DPRINTF(8, "UR_CLEAR_PORT_FEATURE on port %d\n", index); + DPRINTFN(9, "UR_CLEAR_PORT_FEATURE on port %d\n", index); switch (value) { case UHF_PORT_SUSPEND: @@ -2182,7 +2182,7 @@ if (index != 1) { goto tr_stalled; } - DPRINTF(8, "UR_SET_PORT_FEATURE\n"); + DPRINTFN(9, "UR_SET_PORT_FEATURE\n"); switch (value) { case UHF_PORT_ENABLE: @@ -2205,7 +2205,7 @@ tr_handle_get_port_status: - DPRINTF(8, "UR_GET_PORT_STATUS\n"); + DPRINTFN(9, "UR_GET_PORT_STATUS\n"); if (index != 1) { goto tr_stalled; @@ -2460,7 +2460,7 @@ { struct at91dci_softc *sc = AT9100_DCI_BUS2SC(udev->bus); - DPRINTF(1, "pipe=%p, addr=%d, endpt=%d, mode=%d (%d)\n", + DPRINTFN(2, "pipe=%p, addr=%d, endpt=%d, mode=%d (%d)\n", pipe, udev->address, edesc->bEndpointAddress, udev->flags.usb2_mode, sc->sc_rt_addr); ==== //depot/projects/usb/src/sys/dev/usb2/controller/ehci2.c#8 (text+ko) ==== @@ -207,7 +207,7 @@ mtx_lock(&sc->sc_bus.mtx); - DPRINTF(0, "start\n"); + DPRINTF("start\n"); usb2_callout_init_mtx(&sc->sc_tmo_pcd, &sc->sc_bus.mtx, CALLOUT_RETURNUNLOCKED); @@ -225,14 +225,14 @@ version >> 8, version & 0xff); sparams = EREAD4(sc, EHCI_HCSPARAMS); - DPRINTF(0, "sparams=0x%x\n", sparams); + DPRINTF("sparams=0x%x\n", sparams); sc->sc_noport = EHCI_HCS_N_PORTS(sparams); cparams = EREAD4(sc, EHCI_HCCPARAMS); - DPRINTF(0, "cparams=0x%x\n", cparams); + DPRINTF("cparams=0x%x\n", cparams); if (EHCI_HCC_64BIT(cparams)) { - DPRINTF(0, "HCC uses 64-bit structures\n"); + DPRINTF("HCC uses 64-bit structures\n"); /* MUST clear segment register if 64 bit capable */ EWRITE4(sc, EHCI_CTRLDSSEGMENT, 0); @@ -240,7 +240,7 @@ sc->sc_bus.usbrev = USB_REV_2_0; /* Reset the controller */ - DPRINTF(0, "%s: resetting\n", device_get_nameunit(sc->sc_bus.bdev)); + DPRINTF("%s: resetting\n", device_get_nameunit(sc->sc_bus.bdev)); err = ehci_hc_reset(sc); if (err) { @@ -496,7 +496,7 @@ EOWRITE4(sc, EHCI_USBINTR, sc->sc_eintrs); if (ehci_hc_reset(sc)) { - DPRINTF(0, "reset failed!\n"); + DPRINTF("reset failed!\n"); } mtx_unlock(&sc->sc_bus.mtx); @@ -631,12 +631,12 @@ void ehci_shutdown(ehci_softc_t *sc) { - DPRINTF(0, "stopping the HC\n"); + DPRINTF("stopping the HC\n"); mtx_lock(&sc->sc_bus.mtx); if (ehci_hc_reset(sc)) { - DPRINTF(0, "reset failed!\n"); + DPRINTF("reset failed!\n"); } mtx_unlock(&sc->sc_bus.mtx); } @@ -976,7 +976,7 @@ static ehci_sitd_t * _ehci_append_fs_td(ehci_sitd_t *std, ehci_sitd_t *last) { - DPRINTF(10, "%p to %p\n", std, last); + DPRINTFN(11, "%p to %p\n", std, last); /* (sc->sc_bus.mtx) must be locked */ @@ -1002,7 +1002,7 @@ static ehci_itd_t * _ehci_append_hs_td(ehci_itd_t *std, ehci_itd_t *last) { - DPRINTF(10, "%p to %p\n", std, last); + DPRINTFN(11, "%p to %p\n", std, last); /* (sc->sc_bus.mtx) must be locked */ @@ -1028,7 +1028,7 @@ static ehci_qh_t * _ehci_append_qh(ehci_qh_t *sqh, ehci_qh_t *last) { - DPRINTF(10, "%p to %p\n", sqh, last); + DPRINTFN(11, "%p to %p\n", sqh, last); /* (sc->sc_bus.mtx) must be locked */ @@ -1061,7 +1061,7 @@ static ehci_sitd_t * _ehci_remove_fs_td(ehci_sitd_t *std, ehci_sitd_t *last) { - DPRINTF(10, "%p from %p\n", std, last); + DPRINTFN(11, "%p from %p\n", std, last); /* (sc->sc_bus.mtx) must be locked */ @@ -1081,7 +1081,7 @@ static ehci_itd_t * _ehci_remove_hs_td(ehci_itd_t *std, ehci_itd_t *last) { - DPRINTF(10, "%p from %p\n", std, last); + DPRINTFN(11, "%p from %p\n", std, last); /* (sc->sc_bus.mtx) must be locked */ @@ -1101,7 +1101,7 @@ static ehci_qh_t * _ehci_remove_qh(ehci_qh_t *sqh, ehci_qh_t *last) { - DPRINTF(10, "%p from %p\n", sqh, last); + DPRINTFN(11, "%p from %p\n", sqh, last); /* (sc->sc_bus.mtx) must be locked */ @@ -1158,7 +1158,7 @@ */ if (len > td->len) { /* should not happen */ - DPRINTF(0, "Invalid status length, " + DPRINTF("Invalid status length, " "0x%04x/0x%04x bytes\n", len, td->len); status |= EHCI_QTD_HALTED; } else if (xfer->aframes != xfer->nframes) { @@ -1212,7 +1212,7 @@ #ifdef USB_DEBUG if (status & EHCI_QTD_STATERRS) { - DPRINTF(10, "error, addr=%d, endpt=0x%02x, frame=0x%02x" + DPRINTFN(11, "error, addr=%d, endpt=0x%02x, frame=0x%02x" "status=%s%s%s%s%s%s%s%s\n", xfer->address, xfer->endpoint, xfer->aframes, (status & EHCI_QTD_ACTIVE) ? "[ACTIVE]" : "[NOT_ACTIVE]", @@ -1235,7 +1235,7 @@ { usb2_error_t err = 0; - DPRINTF(12, "xfer=%p pipe=%p transfer done\n", + DPRINTFN(13, "xfer=%p pipe=%p transfer done\n", xfer, xfer->pipe); #ifdef USB_DEBUG @@ -1294,7 +1294,7 @@ uint32_t status; - DPRINTF(12, "xfer=%p checking transfer\n", xfer); + DPRINTFN(13, "xfer=%p checking transfer\n", xfer); if (methods == &ehci_device_isoc_fs_methods) { ehci_sitd_t *td; @@ -1399,7 +1399,7 @@ } done: - DPRINTF(12, "xfer=%p is still active\n", xfer); + DPRINTFN(13, "xfer=%p is still active\n", xfer); return (0); transferred: @@ -1456,7 +1456,7 @@ mtx_lock(&sc->sc_bus.mtx); - DPRINTF(15, "real interrupt\n"); + DPRINTFN(16, "real interrupt\n"); #ifdef USB_DEBUG if (ehcidebug > 15) { @@ -1524,7 +1524,7 @@ struct usb2_xfer *xfer = arg; ehci_softc_t *sc = xfer->usb2_sc; - DPRINTF(0, "xfer=%p\n", xfer); + DPRINTF("xfer=%p\n", xfer); mtx_assert(&sc->sc_bus.mtx, MA_OWNED); @@ -1733,7 +1733,7 @@ uint32_t qh_endphub; uint32_t x; - DPRINTF(8, "addr=%d endpt=%d sumlen=%d speed=%d\n", + DPRINTFN(9, "addr=%d endpt=%d sumlen=%d speed=%d\n", xfer->address, UE_GET_ADDR(xfer->endpoint), xfer->sumlen, usb2_get_speed(xfer->udev)); @@ -1875,7 +1875,7 @@ #ifdef USB_DEBUG if (ehcidebug > 8) { - DPRINTF(0, "nexttog=%d; data before transfer:\n", + DPRINTF("nexttog=%d; data before transfer:\n", xfer->pipe->toggle_next); ehci_dump_sqtds(xfer->td_transfer_first); } @@ -1984,7 +1984,7 @@ /* pick out CHANGE bits from the status register */ if (EOREAD4(sc, EHCI_PORTSC(i)) & EHCI_PS_CLEAR) { sc->sc_hub_idata[i / 8] |= 1 << (i % 8); - DPRINTF(0, "port %d changed\n", i); + DPRINTF("port %d changed\n", i); } } done: @@ -2001,7 +2001,7 @@ ehci_sitd_t *td = xfer->td_transfer_first; ehci_sitd_t **pp_last = &sc->sc_isoc_fs_p_last[xfer->qh_pos]; - DPRINTF(12, "xfer=%p pipe=%p transfer done\n", + DPRINTFN(13, "xfer=%p pipe=%p transfer done\n", xfer, xfer->pipe); while (nframes--) { @@ -2014,7 +2014,7 @@ } #ifdef USB_DEBUG if (ehcidebug > 15) { - DPRINTF(15, "isoc FS-TD\n"); + DPRINTF("isoc FS-TD\n"); ehci_dump_sitd(td); } #endif @@ -2055,7 +2055,7 @@ ehci_itd_t *td = xfer->td_transfer_first; ehci_itd_t **pp_last = &sc->sc_isoc_hs_p_last[xfer->qh_pos]; - DPRINTF(12, "xfer=%p pipe=%p transfer done\n", + DPRINTFN(13, "xfer=%p pipe=%p transfer done\n", xfer, xfer->pipe); while (nframes--) { @@ -2068,7 +2068,7 @@ } #ifdef USB_DEBUG if (ehcidebug > 15) { - DPRINTF(15, "isoc HS-TD\n"); + DPRINTF("isoc HS-TD\n"); ehci_dump_itd(td); } #endif @@ -2120,14 +2120,14 @@ mtx_assert(&sc->sc_bus.mtx, MA_OWNED); - DPRINTF(1, "xfer=%p, pipe=%p, error=%d\n", + DPRINTFN(2, "xfer=%p, pipe=%p, error=%d\n", xfer, xfer->pipe, error); if ((methods == &ehci_device_bulk_methods) || (methods == &ehci_device_ctrl_methods)) { #ifdef USB_DEBUG if (ehcidebug > 8) { - DPRINTF(0, "nexttog=%d; data after transfer:\n", + DPRINTF("nexttog=%d; data after transfer:\n", xfer->pipe->toggle_next); ehci_dump_sqtds(xfer->td_transfer_first); } @@ -2302,7 +2302,7 @@ sc->sc_intr_stat[best]++; xfer->qh_pos = best; - DPRINTF(2, "best=%d interval=%d\n", + DPRINTFN(3, "best=%d interval=%d\n", best, xfer->interval); return; } @@ -2428,7 +2428,7 @@ ehci_sitd_t *td_last = NULL; ehci_sitd_t **pp_last; - DPRINTF(5, "xfer=%p next=%d nframes=%d\n", + DPRINTFN(6, "xfer=%p next=%d nframes=%d\n", xfer, xfer->pipe->isoc_next, xfer->nframes); /* get the current frame index */ @@ -2453,7 +2453,7 @@ xfer->pipe->isoc_next = (nframes + 3) & (EHCI_VIRTUAL_FRAMELIST_COUNT - 1); xfer->pipe->is_synced = 1; - DPRINTF(2, "start next=%d\n", xfer->pipe->isoc_next); + DPRINTFN(3, "start next=%d\n", xfer->pipe->isoc_next); } /* * compute how many milliseconds the insertion is ahead of the @@ -2601,7 +2601,7 @@ #ifdef USB_DEBUG if (ehcidebug > 15) { - DPRINTF(15, "FS-TD %d\n", nframes); + DPRINTF("FS-TD %d\n", nframes); ehci_dump_sitd(td); } #endif @@ -2722,7 +2722,7 @@ ehci_itd_t *td_last = NULL; ehci_itd_t **pp_last; - DPRINTF(5, "xfer=%p next=%d nframes=%d\n", + DPRINTFN(6, "xfer=%p next=%d nframes=%d\n", xfer, xfer->pipe->isoc_next, xfer->nframes); /* get the current frame index */ @@ -2747,7 +2747,7 @@ xfer->pipe->isoc_next = (nframes + 3) & (EHCI_VIRTUAL_FRAMELIST_COUNT - 1); xfer->pipe->is_synced = 1; - DPRINTF(2, "start next=%d\n", xfer->pipe->isoc_next); + DPRINTFN(3, "start next=%d\n", xfer->pipe->isoc_next); } /* * compute how many milliseconds the insertion is ahead of the @@ -2873,7 +2873,7 @@ usb2_pc_cpu_flush(td->page_cache); #ifdef USB_DEBUG if (ehcidebug > 15) { - DPRINTF(15, "HS-TD %d\n", nframes); + DPRINTF("HS-TD %d\n", nframes); ehci_dump_itd(td); } #endif @@ -3022,7 +3022,7 @@ uint32_t port; uint32_t v; - DPRINTF(0, "index=%d lowspeed=%d\n", index, lowspeed); + DPRINTF("index=%d lowspeed=%d\n", index, lowspeed); port = EHCI_PORTSC(index); v = EOREAD4(sc, port) & ~EHCI_PS_CLEAR; @@ -3040,7 +3040,7 @@ { ehci_softc_t *sc = xfer->usb2_sc; - DPRINTF(0, "\n"); + DPRINTF("\n"); sc->sc_root_ctrl.xfer = xfer; @@ -3090,7 +3090,7 @@ use_polling = mtx_owned(xfer->priv_mtx) ? 1 : 0; - DPRINTF(2, "type=0x%02x request=0x%02x wLen=0x%04x " + DPRINTFN(3, "type=0x%02x request=0x%02x wLen=0x%04x " "wValue=0x%04x wIndex=0x%04x\n", std->req.bmRequestType, std->req.bRequest, UGETW(std->req.wLength), value, index); @@ -3213,7 +3213,7 @@ case C(UR_CLEAR_FEATURE, UT_WRITE_CLASS_DEVICE): break; case C(UR_CLEAR_FEATURE, UT_WRITE_CLASS_OTHER): - DPRINTF(8, "UR_CLEAR_PORT_FEATURE\n"); + DPRINTFN(9, "UR_CLEAR_PORT_FEATURE\n"); if ((index < 1) || (index > sc->sc_noport)) { @@ -3233,11 +3233,11 @@ EOWRITE4(sc, port, v & ~EHCI_PS_PP); break; case UHF_PORT_TEST: - DPRINTF(2, "clear port test " + DPRINTFN(3, "clear port test " "%d\n", index); break; case UHF_PORT_INDICATOR: - DPRINTF(2, "clear port ind " + DPRINTFN(3, "clear port ind " "%d\n", index); EOWRITE4(sc, port, v & ~EHCI_PS_PIC); break; @@ -3288,7 +3288,7 @@ bzero(sc->sc_hub_desc.temp, 16); break; case C(UR_GET_STATUS, UT_READ_CLASS_OTHER): - DPRINTF(8, "get port status i=%d\n", + DPRINTFN(9, "get port status i=%d\n", index); if ((index < 1) || (index > sc->sc_noport)) { @@ -3296,7 +3296,7 @@ goto done; } v = EOREAD4(sc, EHCI_PORTSC(index)); - DPRINTF(8, "port status=0x%04x\n", v); + DPRINTFN(9, "port status=0x%04x\n", v); i = UPS_HIGH_SPEED; if (v & EHCI_PS_CS) i |= UPS_CURRENT_CONNECT_STATUS; @@ -3344,7 +3344,7 @@ EOWRITE4(sc, port, v | EHCI_PS_SUSP); break; case UHF_PORT_RESET: - DPRINTF(5, "reset port %d\n", index); + DPRINTFN(6, "reset port %d\n", index); if (EHCI_PS_IS_LOWSPEED(v)) { /* Low speed device, give up ownership. */ ehci_disown(sc, index, 1); @@ -3378,7 +3378,7 @@ } v = EOREAD4(sc, port); - DPRINTF(0, "ehci after reset, status=0x%08x\n", v); + DPRINTF("ehci after reset, status=0x%08x\n", v); if (v & EHCI_PS_PR) { device_printf(sc->sc_bus.bdev, "port reset timeout\n"); @@ -3394,21 +3394,21 @@ break; } sc->sc_isreset = 1; - DPRINTF(0, "ehci port %d reset, status = 0x%08x\n", + DPRINTF("ehci port %d reset, status = 0x%08x\n", index, v); break; case UHF_PORT_POWER: - DPRINTF(2, "set port power %d\n", index); + DPRINTFN(3, "set port power %d\n", index); EOWRITE4(sc, port, v | EHCI_PS_PP); break; case UHF_PORT_TEST: - DPRINTF(2, "set port test %d\n", index); + DPRINTFN(3, "set port test %d\n", index); break; case UHF_PORT_INDICATOR: - DPRINTF(2, "set port ind %d\n", index); + DPRINTFN(3, "set port ind %d\n", index); EOWRITE4(sc, port, v | EHCI_PS_PIC); break; @@ -3767,7 +3767,7 @@ { ehci_softc_t *sc = EHCI_BUS2SC(udev->bus); - DPRINTF(1, "pipe=%p, addr=%d, endpt=%d, mode=%d (%d)\n", + DPRINTFN(2, "pipe=%p, addr=%d, endpt=%d, mode=%d (%d)\n", pipe, udev->address, edesc->bEndpointAddress, udev->flags.usb2_mode, sc->sc_addr); ==== //depot/projects/usb/src/sys/dev/usb2/controller/ohci2.c#5 (text+ko) ==== @@ -171,7 +171,7 @@ ctl = OREAD4(sc, OHCI_CONTROL); if (ctl & OHCI_IR) { /* SMM active, request change */ - DPRINTF(0, "SMM active, request owner change\n"); + DPRINTF("SMM active, request owner change\n"); s = OREAD4(sc, OHCI_COMMAND_STATUS); OWRITE4(sc, OHCI_COMMAND_STATUS, s | OHCI_OCR); for (i = 0; (i < 100) && (ctl & OHCI_IR); i++) { @@ -187,14 +187,14 @@ /* Don't bother trying to reuse the BIOS init, we'll reset it anyway. */ } else if ((ctl & OHCI_HCFS_MASK) != OHCI_HCFS_RESET) { /* BIOS started controller. */ - DPRINTF(0, "BIOS active\n"); + DPRINTF("BIOS active\n"); if ((ctl & OHCI_HCFS_MASK) != OHCI_HCFS_OPERATIONAL) { OWRITE4(sc, OHCI_CONTROL, OHCI_HCFS_OPERATIONAL); DELAY(1000 * USB_RESUME_DELAY); } #endif } else { - DPRINTF(0, "cold started\n"); + DPRINTF("cold started\n"); reset: /* controller was cold started */ DELAY(1000 * USB_BUS_RESET_DELAY); @@ -204,7 +204,7 @@ * This reset should not be necessary according to the OHCI spec, but * without it some controllers do not start. */ - DPRINTF(0, "%s: resetting\n", device_get_nameunit(sc->sc_bus.bdev)); + DPRINTF("%s: resetting\n", device_get_nameunit(sc->sc_bus.bdev)); OWRITE4(sc, OHCI_CONTROL, OHCI_HCFS_RESET); DELAY(1000 * USB_BUS_RESET_DELAY); @@ -317,7 +317,7 @@ mtx_lock(&sc->sc_bus.mtx); - DPRINTF(0, "start\n"); + DPRINTF("start\n"); sc->sc_eintrs = OHCI_NORMAL_INTRS; @@ -457,7 +457,7 @@ mtx_lock(&sc->sc_bus.mtx); #ifdef USB_DEBUG - DPRINTF(0, "\n"); + DPRINTF("\n"); if (ohcidebug > 2) { ohci_dumpregs(sc); } @@ -488,7 +488,7 @@ mtx_lock(&sc->sc_bus.mtx); #ifdef USB_DEBUG - DPRINTF(0, "\n"); + DPRINTF("\n"); if (ohcidebug > 2) { ohci_dumpregs(sc); } @@ -526,41 +526,41 @@ { struct ohci_hcca *hcca; - DPRINTF(0, "ohci_dumpregs: rev=0x%08x control=0x%08x command=0x%08x\n", + DPRINTF("ohci_dumpregs: rev=0x%08x control=0x%08x command=0x%08x\n", OREAD4(sc, OHCI_REVISION), OREAD4(sc, OHCI_CONTROL), OREAD4(sc, OHCI_COMMAND_STATUS)); - DPRINTF(0, " intrstat=0x%08x intre=0x%08x intrd=0x%08x\n", + DPRINTF(" intrstat=0x%08x intre=0x%08x intrd=0x%08x\n", OREAD4(sc, OHCI_INTERRUPT_STATUS), OREAD4(sc, OHCI_INTERRUPT_ENABLE), OREAD4(sc, OHCI_INTERRUPT_DISABLE)); - DPRINTF(0, " hcca=0x%08x percur=0x%08x ctrlhd=0x%08x\n", + DPRINTF(" hcca=0x%08x percur=0x%08x ctrlhd=0x%08x\n", OREAD4(sc, OHCI_HCCA), OREAD4(sc, OHCI_PERIOD_CURRENT_ED), OREAD4(sc, OHCI_CONTROL_HEAD_ED)); - DPRINTF(0, " ctrlcur=0x%08x bulkhd=0x%08x bulkcur=0x%08x\n", + DPRINTF(" ctrlcur=0x%08x bulkhd=0x%08x bulkcur=0x%08x\n", OREAD4(sc, OHCI_CONTROL_CURRENT_ED), OREAD4(sc, OHCI_BULK_HEAD_ED), OREAD4(sc, OHCI_BULK_CURRENT_ED)); - DPRINTF(0, " done=0x%08x fmival=0x%08x fmrem=0x%08x\n", + DPRINTF(" done=0x%08x fmival=0x%08x fmrem=0x%08x\n", OREAD4(sc, OHCI_DONE_HEAD), OREAD4(sc, OHCI_FM_INTERVAL), OREAD4(sc, OHCI_FM_REMAINING)); - DPRINTF(0, " fmnum=0x%08x perst=0x%08x lsthrs=0x%08x\n", + DPRINTF(" fmnum=0x%08x perst=0x%08x lsthrs=0x%08x\n", OREAD4(sc, OHCI_FM_NUMBER), OREAD4(sc, OHCI_PERIODIC_START), OREAD4(sc, OHCI_LS_THRESHOLD)); - DPRINTF(0, " desca=0x%08x descb=0x%08x stat=0x%08x\n", + DPRINTF(" desca=0x%08x descb=0x%08x stat=0x%08x\n", OREAD4(sc, OHCI_RH_DESCRIPTOR_A), OREAD4(sc, OHCI_RH_DESCRIPTOR_B), OREAD4(sc, OHCI_RH_STATUS)); - DPRINTF(0, " port1=0x%08x port2=0x%08x\n", + DPRINTF(" port1=0x%08x port2=0x%08x\n", OREAD4(sc, OHCI_RH_PORT_STATUS(1)), OREAD4(sc, OHCI_RH_PORT_STATUS(2))); hcca = ohci_get_hcca(sc); - DPRINTF(0, " HCCA: frame_number=0x%04x done_head=0x%08x\n", + DPRINTF(" HCCA: frame_number=0x%04x done_head=0x%08x\n", le32toh(hcca->hcca_frame_number), le32toh(hcca->hcca_done_head)); return; @@ -700,7 +700,7 @@ static ohci_ed_t * >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Aug 3 09:24:46 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D68751065672; Sun, 3 Aug 2008 09:24:45 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9C5FF1065670 for ; Sun, 3 Aug 2008 09:24:45 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8895D8FC08 for ; Sun, 3 Aug 2008 09:24:45 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m739Oj0E095854 for ; Sun, 3 Aug 2008 09:24:45 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m739OjbC095852 for perforce@freebsd.org; Sun, 3 Aug 2008 09:24:45 GMT (envelope-from hselasky@FreeBSD.org) Date: Sun, 3 Aug 2008 09:24:45 GMT Message-Id: <200808030924.m739OjbC095852@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 146505 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, 03 Aug 2008 09:24:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=146505 Change 146505 by hselasky@hselasky_laptop001 on 2008/08/03 09:24:18 Add new Inventra USB chipdriver. NOTE: Has not been tested yet. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/controller/musb2_otg.c#1 add .. //depot/projects/usb/src/sys/dev/usb2/controller/musb2_otg.h#1 add .. //depot/projects/usb/src/sys/modules/usb2/controller/Makefile#4 edit Differences ... ==== //depot/projects/usb/src/sys/modules/usb2/controller/Makefile#4 (text+ko) ==== @@ -22,6 +22,7 @@ SRCS+= at91dci.c SRCS+= ehci2.c SRCS+= ehci2_pci.c +SRCS+= musb2_otg.c SRCS+= ohci2.c SRCS+= ohci2_pci.c SRCS+= uhci2.c From owner-p4-projects@FreeBSD.ORG Sun Aug 3 09:40:01 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 820F3106567A; Sun, 3 Aug 2008 09:40:01 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 475151065671 for ; Sun, 3 Aug 2008 09:40:01 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 355648FC0C for ; Sun, 3 Aug 2008 09:40:01 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m739e1vK097148 for ; Sun, 3 Aug 2008 09:40:01 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m739e1LE097146 for perforce@freebsd.org; Sun, 3 Aug 2008 09:40:01 GMT (envelope-from trasz@freebsd.org) Date: Sun, 3 Aug 2008 09:40:01 GMT Message-Id: <200808030940.m739e1LE097146@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 146507 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, 03 Aug 2008 09:40:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=146507 Change 146507 by trasz@trasz_traszkan on 2008/08/03 09:39:40 Fix build. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#4 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#4 (text+ko) ==== @@ -3569,13 +3569,13 @@ if (error != 0) goto errout; - if (vsecattr.vsa_aclcnt != NULL) + if (vsecattr.vsa_aclcnt != 0) kmem_free(vsecattr.vsa_aclentp, vsecattr.vsa_aclentsz); return (0); errout: - if (aclbsize != NULL && vsecattr.vsa_aclentp != NULL) + if (aclbsize != 0 && vsecattr.vsa_aclentp != NULL) kmem_free(vsecattr.vsa_aclentp, aclbsize); return (error); } From owner-p4-projects@FreeBSD.ORG Sun Aug 3 10:17:40 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1F103106568B; Sun, 3 Aug 2008 10:17:40 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D68DD1065688 for ; Sun, 3 Aug 2008 10:17:39 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C34FD8FC14 for ; Sun, 3 Aug 2008 10:17:39 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m73AHdhX001615 for ; Sun, 3 Aug 2008 10:17:39 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m73AHdIb001613 for perforce@freebsd.org; Sun, 3 Aug 2008 10:17:39 GMT (envelope-from pgj@FreeBSD.org) Date: Sun, 3 Aug 2008 10:17:39 GMT Message-Id: <200808031017.m73AHdIb001613@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 146511 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, 03 Aug 2008 10:17:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=146511 Change 146511 by pgj@disznohal on 2008/08/03 10:17:35 MFen: 1.838 -> 1.900 hu_HU.ISO8859-2/books/faq/book.sgml Affected files ... .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/faq/book.sgml#4 edit Differences ... ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/faq/book.sgml#4 (text+ko) ==== @@ -7,17 +7,18 @@ - Gyakran Ismételt Kérdések a &os; 5.X - és 6.X változatairól + Gyakran Ismételt Kérdések a &os; + 6.<replaceable>X</replaceable> és + 7.<replaceable>X</replaceable> változatairól A &os; Dokumentációs Projekt - $FreeBSD: doc/en_US.ISO8859-1/books/faq/book.sgml,v 1.838 2008/05/31 09:35:18 pgj Exp $ + $FreeBSD: doc/en_US.ISO8859-1/books/faq/book.sgml,v 1.900 2008/06/14 09:43:17 pgj Exp $ 1995 @@ -65,21 +66,22 @@ Ezek a gyakran ismételt kérdések a &os; - 5.X és 6.X változataira vonatkoznak. Az összes - bejegyzés a &os; 5.X vagy annál újabb + 6.X és + 7.X változataira vonatkoznak. + Az összes bejegyzés a &os; + 6.X vagy annál újabb változataira vonatkozik, hacsak azt külön nem jelezzük. Ha szeretnénk segíteni a projektnek, akkor küldjünk egy levelet a &a.doc; címére! Ennek a dokumentumnak a legfrissebb változata mindig elérhetõ a &os; - World Wide Web szerverérõl. HTTP-n - keresztül letölthetõ egyetlen nagy HTML állományként, + url="http://www.FreeBSD.org/doc/hu/books/faq/index.html">&os; World Wide Web szerverérõl. + HTTP-n keresztül letölthetõ egyetlen nagy HTML állományként, vagy a &os; FTP szerverérõl szöveges, &postscript; PDF stb. formátumban. Továbbá keresni is tudunk a + url="&url.base;/search/index.html">keresni is tudunk a GYIK-ban. Fordította és a @@ -90,8 +92,9 @@ Bevezetés - Üdvözöljük a &os; 5.X-6.X Gyakran - Ismételt Kérdéseiben! + Üdvözöljük a &os; + 6.X-7.X + Gyakran Ismételt Kérdéseiben! Hasonlóan a Usenetes GYIK-okhoz, ennek a dokumentumnak is az a célja, hogy a &os; operációs @@ -390,34 +393,37 @@ Jelen pillanatban a &os; fejlesztése két párhuzamos ágon folyik, és mind a kettõbõl készülnek kiadások. A - 5.X sorozat kiadásai a 5-STABLE - ágból, míg a 6.X sorozat - kiadásai a 6-STABLE + 6.X sorozat kiadásai a + 6-STABLE ágból, + míg a 7.X sorozat + kiadásai a 7-STABLE ágból készülnek. - Az 5.3-as kiadás megjelenéséig a - 4.X sorozat volt a -STABLE. Az 5.3 - kiadás megjelenésével azonban a 4.X - ág meghosszabbított + Az 7.0-s kiadás megjelenéséig a + 6.X sorozat volt a + -STABLE. Az 7.0 kiadás + megjelenésével azonban a + 6.X ág + meghosszabbított támogatást kapott, és már csak a nagyobb hibákat, például a biztonsági hibákat javítják benne. Az - 5-STABLE ágból még + 6-STABLE ágból még várhatóak további kiadások is, azonban ezt jelenleg már örökségi ágnak tekintjük, és a legtöbb munka már a - 6-STABLE részeként + 7-STABLE részeként jelenik meg. A &rel.current; - változat a 6-STABLE ág + url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel.current;-RELEASE/">&rel.current; + változat a 7-STABLE ág legfrissebb kiadása, amely &rel.current.date;ban - jelent meg. Az 5-STABLE + jelent meg. Az 6-STABLE ágból a &rel2.current; + url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel2.current;-RELEASE/">&rel2.current; a legfrissebb kiadás, amely &rel2.current.date;ban jelent meg. @@ -462,12 +468,12 @@ - Mi az a &os;-CURRENT? + Mi az a &os;-CURRENT? A &os.current; + url="&url.books.handbook;/cutting-edge.html#CURRENT">&os.current; az operációs rendszer aktív fejlesztés alatt álló változata, amely idõvel az új &os.stable; @@ -476,11 +482,11 @@ fejlesztõk és a megátalkodott hobbifelhasználók számára érdekes. A kézikönyv + url="&url.books.handbook;/index.html">kézikönyv erre - vonatkozó szakaszában olvashatunk - részletesebben a -CURRENT + url="&url.books.handbook;/cutting-edge.html#CURRENT">erre vonatkozó szakaszában + olvashatunk részletesebben a + -CURRENT használatáról. Ha nem mozgunk otthonosan az operációs @@ -498,18 +504,18 @@ közülük csak azokat jelenteni, amelyek valóban hibákat takarnak és nem pedig csak apró bökkenõk. - Ezért a -CURRENT levelezési listákon - A make world parancs valami csoportra - panaszkodik típusú + Ezért a &a.current; olvasói + általában A make world parancs valami + csoportra panaszkodik típusú kérdéseket általában figyelembe se veszik. - A -CURRENT és -STABLE ágak aktuális - állapotáról minden nap pillanatkiadások - készülnek. Ezek a kiadások bárki - által hozzáférhetõek. - Célunk ezzel: + A -CURRENT és + -STABLE ágak aktuális + állapotáról minden hónapban + pillanatkiadások + készülnek. Célunk ezzel: @@ -520,11 +526,12 @@ Idõt és sávszélességet szeretnénk - megspórolni a -CURRENT vagy -STABLE - változatok azon felhasználóinak, - akik az iméntiek hiányából - fakadóan nem tudják naponta - frissíteni a rendszerüket. + megspórolni a -CURRENT vagy + -STABLE változatok azon + felhasználóinak, akik az iméntiek + hiányából fakadóan nem + tudják naponta frissíteni a + rendszerüket. @@ -535,7 +542,7 @@ történne. (Noha a CVS általában védelmet nyújt az ilyen rémisztõ dolgok - bekövetkezése ellen :) + bekövetkezése ellen.) @@ -547,38 +554,43 @@ - Egyik -CURRENT pillanatkiadás sem tekinthetõ + Egyik -CURRENT + pillanatkiadás sem tekinthetõ hétköznapi felhasználásra alkalmasnak. Ha egy megbízható és széles körben tesztelt rendszerre van szükségünk, akkor vagy maradjunk a - kiadásoknál vagy használjuk a -STABLE - vonalból készült - pillanatkiadásokat. + kiadásoknál vagy használjuk a + -STABLE vonalból + készült pillanatkiadásokat. A pillanatkiadások innen érhetõek el. - A pillanatkiadások általában minden - nap, minden aktívan fejlesztett ághoz - elkészülnek. + Minden aktívan fejlesztett ághoz havonta + készülnek hivatalos pillanatkiadások. A + népszerûbb &arch.i386; és &arch.amd64; + ágakból azonban napi kiadások is + elérhetõek a a + címen. - Mit takar a &os;-STABLE? + Mit takar a &os;-STABLE? Amikor a &os; 2.0.5 megjelent, a &os; fejlesztése kettévált. Az egyik ág neve -STABLE, + url="&url.books.handbook;/current-stable.html#STABLE">-STABLE, a másiké pedig -CURRENT - lett. A &os;-STABLE az olyan + url="&url.books.handbook;/current-stable.html#CURRENT">-CURRENT + lett. A &os;-STABLE az olyan internet-szolgáltatók és egyéb vállalkozások számára készült, ahol a fejlesztés alatt @@ -587,47 +599,50 @@ problémák gyakran nem engedhetõek meg. Ide csak olyan hibajavítások és kisebb módosítások kerülnek, amelyeket - alaposan leteszteltek. A &os;-CURRENT ezzel szemben a 2.0 - megjelenése óta egyetlen, + alaposan leteszteltek. A &os;-CURRENT + ezzel szemben a 2.0 megjelenése óta egyetlen, szakadásmentes fejlesztési vonalat - képvisel, amely a 6.2-RELEASE és az azon - túli kiadások felé halad. Pontosan a - 6.0-RELEASE kiadás megjelentetése elõtt - létrejött a 6-STABLE fejlesztési vonal, - és a &os.current; a 7-CURRENT lett. Ha errõl - többet szeretnénk megtudni, akkor ezzel + képvisel, amely a &rel.current;-RELEASE és az + azon túli kiadások felé halad. Ha + többet szeretnénk megtudni a jelenlegi + ágak állapotáról és a + következõ kiadások + ütemezésérõl, akkor ezzel kapcsolatban a - &os; Release Engineering: Creating the Release - Branch címû cikket olvassuk el - (angolul). + url="&url.articles.releng;/release-proc.html#REL-BRANCH">&os; Release Engineering: Creating the Release Branch + címû cikket olvassuk el (angolul). A 2.2-STABLE ág a 2.2.8 megjelenésével nyugdíjba vonult. A - 3-STABLE ág a 3.5.1 mint az utolsó 3.X + 3-STABLE ág a 3.5.1 mint az utolsó 3.X kiadás megjelenésével ért véget. A 4-STABLE ág a 4.11 mint az - utolsó 4.X kiadással fejezõdött be. + utolsó 4.X kiadással fejezõdött be. Ezekbe az ágakban a legtöbb esetben már csak biztonsági javításokat végeznek. Az 5-STABLE ág fejlesztése - egy ideig még folytatódik, de a - hangsúly ebben az esetben is már csak a - biztonsági, illetve a súlyosabb hibák - kijavításán lesz. + az utolsó 5.X + kiadás, az 5.5 megjelenésével + lezárult. A 6-STABLE ág fejlesztése + még folytatódik valameddig, de ez alatt + leginkább már csak a biztonsági + rések és egyéb komoly + problémák javításait kell + érteni. - A &rel.current;-STABLE a jelenleg fejlesztett -STABLE - ág. A &rel.current;-STABLE ágból - megjelent legfrissebb kiadás a &rel.current;-RELEASE, - amely &rel.current.date;ban jelent meg. + A &rel.current;-STABLE a jelenleg fejlesztett + -STABLE ág. A + &rel.current;-STABLE ágból megjelent + legfrissebb kiadás a &rel.current;-RELEASE, amely + &rel.current.date;ban jelent meg. - A 7-CURRENT a -CURRENT ág legfrissebb - változata, és ez a &os; következõ - generációja. Errõl az - ágról a Mi az a - &os;-CURRENT? kérdésnél - szolgálunk részletesebb - információkkal. + A 8-CURRENT a -CURRENT ág + legfrissebb változata, és ez a &os; + következõ generációja. Errõl + az ágról a Mi az a &os;-CURRENT? + kérdésnél szolgálunk + részletesebb információkkal. @@ -637,25 +652,25 @@ - A &a.re; a &os; egy újabb - változatát átlagosan négy havonta - jelenteti meg. A kiadások dátumát - elõre kihirdetik, így a rendszeren - dolgozó emberek pontosan tudják, hogy mikorra - kell befejezniük a munkájukat és - letesztelni azt. Minden kiadást egy - tesztelési idõszak elõz meg, ahol - megbizonyosodnak róla, hogy az elkészült - újítások nem veszélyeztetik az - új kiadás + A &a.re; átlagosan a &os; egy újabb + nagyobb változatát 18 havonta, míg egy + kisebb kiadását 8 havonta jelenteti meg. A + kiadások dátumát elõre kihirdetik, + így a rendszeren dolgozó emberek pontosan + tudják, hogy mikorra kell befejezniük a + munkájukat és letesztelni azt. Minden + kiadást egy tesztelési idõszak elõz + meg, ahol megbizonyosodnak róla, hogy az + elkészült újítások nem + veszélyeztetik az új kiadás megbízhatóságát. A legtöbb felhasználó pontosan ezt a típusú elõvigyázatosságot szereti legjobban a &os;-ben, még annak árán is, hogy a legújabb finomságok bekerülésére még - a -STABLE ág esetén gyakran sokat kell - várni. + a -STABLE ág esetén + gyakran sokat kell várni. A kiadások szerkesztésérõl (valamint a soronkövetkezõ kiadások @@ -713,16 +728,16 @@ - A legfrissebb 6-STABLE kiadás, a + A legfrissebb 7-STABLE kiadás, a &rel.current;-RELEASE &rel.current;-RELEASE - ebbõl a könyvtárból - érhetõ el. + url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel.current;-RELEASE/">ebbõl + a könyvtárból érhetõ + el. - Naponta készülnek pillanatkiadások + Havonta készülnek pillanatkiadások a -CURRENT és a -STABLE ágakból, de ezek leginkább a @@ -732,11 +747,11 @@ - A legfrissebb 5-STABLE kiadás, a + A legfrissebb 6-STABLE kiadás, a &rel2.current;-RELEASE &rel2.current;-RELEASE - ebbõl a könyvtárból - érhetõ el. + url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel2.current;-RELEASE/">ebbõl + a könyvtárból érhetõ + el. @@ -759,9 +774,8 @@ tartalmazó hibajelentések adatbázisát a honlap webes hibajelentésekkel foglalkozó - felületén keresztül - érhetjük el. + url="http://www.FreeBSD.org/cgi/query-pr.cgi?query">felületén + keresztül érhetjük el. A &man.send-pr.1; parancs segítségével tudunk e-mailen @@ -790,9 +804,10 @@ Nézzük meg a FreeBSD Projekt + url="http://www.FreeBSD.org">FreeBSD Projekt honlapjáról elérhetõ dokumentációkat. + url="http://www.FreeBSD.org/docs.html">dokumentációkat. + @@ -821,10 +836,12 @@ részletesebb bemutatását a következõ bekezdésekben olvashatjuk. - Ezek mellett a GYIK végén szereplõ, + Ezek mellett a GYIK végén szereplõ, valamint a kézikönyvben található - irodalomjegyzék tartalmazza az ajánlott - könyveket. + irodalomjegyzék + tartalmazza az ajánlott könyveket. @@ -1500,10 +1517,11 @@ Egy 3,5 colos (1,44 MB - kapacitású) lemezen 1 474 560 byte-nyi - adat fér el. A rendszerindításhoz - használt image mérete is pontosan - 1 474 560 byte. + kapacitású) lemezen + 1 474 560 byte-nyi adat fér el. A + rendszerindításhoz használt image + mérete is pontosan + 1 474 560 byte. A rendszerindító lemezek elõkészítése során @@ -1593,12 +1611,11 @@ - A &os; 5.X és késõbbi - változataihoz egy 486-os vagy jobb processzorral - rendelkezõ számítógépre, - 24 MB vagy annál több - memóriára, és legalább - 150 MB tárhelyre lesz + A &os; használatához egy 486-os vagy jobb + processzorral rendelkezõ + számítógépre, 24 MB vagy + annál több memóriára, és + legalább 150 MB tárhelyre lesz szükségünk. A &os; összes változata képes futni @@ -1699,29 +1716,29 @@ Használjuk a &os;-hez létrehozott rendszerindító lemezeket, és a telepítõben válasszuk a - Custom Installation - (Egyéni telepítés) menüpontot, - majd azon belül a Choose - Partition (Partíció - kiválasztása) pontot. Itt - válasszuk ki azt a meghajtót, ahol - korábban a boot managerünk volt (ez - valószínûleg a felsorolásban - az elsõ lesz) és amikor belépünk - a partíciószerkesztõbe, akkor + Custom (Egyéni + telepítés) menüpontot, majd azon + belül válasszuk a + Partition + (Partíció) pontot. Itt válasszuk + ki azt a meghajtót, ahol korábban a boot + managerünk volt (ez valószínûleg + a felsorolásban az elsõ lesz) és + amikor belépünk a + partíciószerkesztõbe, akkor egybõl válasszuk a Write (W) opciót (tehát ne változtassunk semmit). Ez megerõsítést fog kérni, amire - válaszoljunk igennel, és amikor a boot - manager kiválasztása rész jelenik - meg, válasszuk a Boot Manager - pontot. Ezzel a boot manager újra a lemezre - íródik. Miután ezzel - végeztünk, lépjünk ki a - telepítõbõl és indítsuk - újra a rendszerünket a megszokott - módon. + válasszuk a &gui.yes; gombot, és amikor a + boot manager kiválasztása rész + jelenik meg, válasszuk a FreeBSD + Boot Manager pontot. Ezzel a boot manager + újra a lemezre íródik. + Miután ezzel végeztünk, + lépjünk ki a telepítõbõl + és indítsuk újra a + rendszerünket a megszokott módon. @@ -2176,7 +2193,7 @@ fejet, 63 (és nem 64) szektort sávonként, ahol az M a lemez MB-okban mért - kapacitása osztva 7.844238-al (!). Tehát az + kapacitása osztva 7,844238-al (!). Tehát az iménti példában is említett 2 GB-os meghajtó esetében 261 cilindert, 255 fejet és 63 szektort kapunk @@ -2201,7 +2218,7 @@ Használhatjuk viszont a &os;-hez mellékelt pfdisk.exe segédprogramot is. Ezt a &os; CD vag a &os; FTP oldalainak tools + class="directory">tools könyvtárában találhatjuk meg. Ennek a programnak a segítségével ki tudjuk deríteni, hogy a lemezen levõ többi @@ -2245,9 +2262,9 @@ - A &os; felismeri az Ontrack Disk Managert és - figyelembe veszi. A többi disk managert nem - támogatja. + A &os; felismeri az Ontrack Disk + Managert és figyelembe veszi. A + többi disk managert nem támogatja. Ha egyedül csak a &os;-t akarjuk használni, akkor nincs szükségünk disk manager @@ -5532,12 +5549,12 @@ &motif; 2.2.2 változatának forráskódját. Ez az x11-toolkits/open-motif + role="package">x11-toolkits/open-motif csomagból vagy portból érhetõ el. A telepítésével kapcsolatban olvassuk el a kézikönyv portokról - szóló részét. + url="&url.books.handbook;/ports.html">portokról szóló részét. + Az Open &motif; @@ -5650,12 +5667,12 @@ hasonló nyílt forráskódú X11 munkakörnyezet, de érdemes pillanatást vetnünk az xfcere - is.. A KDE és az + url="http://www.xfce.org">xfce-re + is. A KDE és az xfce egyaránt megtalalálható a portok - között. + url="&url.base;/ports/index.html">portok között. + @@ -5666,9 +5683,10 @@ - Igen, a Xi - Graphics foglalkozik &os; és egyéb - Intel-alapú rendszerekre fejlesztett Accelerated-X + Igen, a Xi Graphics foglalkozik + &os; és egyéb Intel-alapú + rendszerekre fejlesztett Accelerated-X termékekkel. A Xi Graphics által @@ -5956,10 +5974,10 @@ Ha viszont egy friss verzióval rendelkezünk, akkor elképzelhetõ, hogy egy másik - hibával kerültünk szembe. A make - index parancsnak van egy - olyan hibája, amely miatt nem képes a - Portgyûjtemény hiányos + hibával kerültünk szembe. A + make index + parancsnak van egy olyan hibája, amely miatt nem + képes a Portgyûjtemény hiányos példányával dolgozni. Feltételezi ugyanis, hogy az összes olyan port megtalálható a rendszerünkben, amely @@ -6065,7 +6083,7 @@ tartsuk. A 6.2 elõtt kiadott rendszerek esetében ezt portból vagy csomagból is felrakhatjuk (lásd net/csup). + role="package">net/csup). @@ -6244,26 +6262,19 @@ szóló részét. - Javasoljuk, hogy miután sikerült - beüzemelnünk, a /kernel - állományunkból hozzunk létre - egy dátumozott másolatot - /kernel.ÉÉHHNN - néven. Emellett érdemes még - elmenteni a /modules - könyvtárunkat is - /modules.ÉÉHHNN - néven. Ennek köszönhetõen, amikor - legközelebb játszadozunk a rendszermag - beállításaival, mindig lesz egy - mûködõ másolatunk és hiba - esetén nem a kernel.GENERIC - állományt kell majd elõvennünk. - Ez különösen fontos abban az esetben, - amikor olyan vezérlõrõl akarjuk - elindítani a rendszert, amelyet a GENERIC - konfigurációjú rendszermag nem - ismer. + Az új kernel + állomány a hozzátartozó + modulokkal együtt a + /boot/kernel könyvtárba + települ, míg a rendszermag korábbi + változata és a moduljai a + /boot/kernel.old + könyvtárba kerül át, így + ha netalán valamit elrontottunk volna, akkor a + rendszermag korábbi változatának + betöltésével + lehetõségünk lesz kijavítani a + hibát. @@ -6406,10 +6417,10 @@ - Nem a make - buildkernel és - make - installkernel + Nem a + make buildkernel + és + make installkernel parancsokat használtuk és valószínûleg a forrásaink sem egyeznek meg a jelenleg futó rendszerével @@ -6424,17 +6435,17 @@ - A make - buildkernel és - make - installkernel + A + make buildkernel + és + make installkernel parancsokat használtuk, de elõtte nem futott - le rendesen a make - buildworld parancs. - A make - buildkernel parancs - ugyanis erõsen támaszkodik a make - buildworld + le rendesen a + make buildworld + parancs. A + make buildkernel + parancs ugyanis erõsen támaszkodik a + make buildworld által végzett munkára. @@ -6470,32 +6481,29 @@ - Amennyiben a &os; 5.2.1 vagy annak korábbi - változatát használjuk, - ellenõrizzük a kern.quantum - sysctl változó meglétét. Ha van - ilyen a rendszerünkben, akkor valami ilyesmit kell - tapasztalnunk: + Nézzük meg, hogy a rendszerünkben + elérhetõ-e a kern.sched.quantum + változó. Ha van ilyenünk, akkor valami + ilyesmit kell tapasztalnunk: &prompt.user; sysctl kern.sched.quantum kern.sched.quantum: 99960 Ha létezik a kern.sched.quantum nevû sysctl - változó, akkor a 4BSD fut. Ha nem, akkor egy - ilyen hibát kapunk a &man.sysctl.8; parancstól - (ezt nyugodtan figyelmen kívül - hagyhatjuk): + változó, akkor a 4BSD ütemezõ fut + (lásd &man.sched.4bsd.4;). Ha nem, akkor egy ilyen + hibát kapunk a &man.sysctl.8; parancstól (ezt + nyugodtan figyelmen kívül hagyhatjuk): &prompt.user; sysctl kern.sched.quantum sysctl: unknown oid 'kern.sched.quantum' - A &os; 5.3-RELEASE és az azt - követõ változatokban az aktuálisan - használt ütemezõ neve közvetlenül - elérhetõ a kern.sched.name - sysctl változó - lekérdezésén keresztül: + Az aktuálisan használt ütemezõ + neve közvetlenül elérhetõ a + kern.sched.name sysctl + változó lekérdezésén + keresztül: &prompt.user; sysctl kern.sched.name kern.sched.name: 4BSD @@ -6504,37 +6512,22 @@ - Mi az a kern.quantum? + Mi az a kern.sched.quantum? - A kern.quantum értéke - határozza meg, hogy egy futó program legfeljebb - mennyi órajelet futhat egyszerre, - megszakítás nélkül. Ezt az - értéket a 4BSD ütemezõ + A kern.sched.quantum + értéke határozza meg, hogy egy + futó program legfeljebb mennyi órajelet futhat + egyszerre, megszakítás nélkül. + Ezt az értéket a 4BSD ütemezõ használja, ezért a jelenlétébõl vagy hiányából következtetni tudunk a pillanatnyilag használatban levõ - ütemezõre. A - &os; 5.X és az - utána következõ változatokban - ehelyett már a kern.sched.quantum - szerepel. + ütemezõre. - - - - Mi az a kern.sched.quantum? - - - - Lásd - - @@ -6551,10 +6544,10 @@ Ezzel kapcsolatban olvassuk el a lemezek - megformázásáról - szóló cikket a &os; - honlapján. + hozzáadásáról + szóló részt a &os; kézikönyvben. + From owner-p4-projects@FreeBSD.ORG Sun Aug 3 11:02:26 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6E6711065681; Sun, 3 Aug 2008 11:02:26 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 196C1106567A for ; Sun, 3 Aug 2008 11:02:26 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 064778FC14 for ; Sun, 3 Aug 2008 11:02:26 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m73B2PZ0005395 for ; Sun, 3 Aug 2008 11:02:25 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m73B2PZ1005393 for perforce@freebsd.org; Sun, 3 Aug 2008 11:02:25 GMT (envelope-from ed@FreeBSD.org) Date: Sun, 3 Aug 2008 11:02:25 GMT Message-Id: <200808031102.m73B2PZ1005393@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 146514 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, 03 Aug 2008 11:02:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=146514 Change 146514 by ed@ed_dull on 2008/08/03 11:02:22 IFC. Affected files ... .. //depot/projects/mpsafetty/Makefile.inc1#2 integrate .. //depot/projects/mpsafetty/etc/defaults/rc.conf#2 integrate .. //depot/projects/mpsafetty/etc/freebsd-update.conf#2 integrate .. //depot/projects/mpsafetty/etc/rc.d/named#2 integrate .. //depot/projects/mpsafetty/games/fortune/datfiles/fortunes#4 integrate .. //depot/projects/mpsafetty/gnu/usr.bin/gdb/arch/arm/Makefile#2 integrate .. //depot/projects/mpsafetty/lib/libc/gen/fmtcheck.3#2 integrate .. //depot/projects/mpsafetty/lib/libc/gen/fmtcheck.c#2 integrate .. //depot/projects/mpsafetty/lib/libc/stdlib/getenv.c#2 integrate .. //depot/projects/mpsafetty/lib/libc/sys/ktrace.2#3 integrate .. //depot/projects/mpsafetty/lib/msun/i387/invtrig.c#1 branch .. //depot/projects/mpsafetty/lib/msun/ld80/invtrig.h#2 integrate .. //depot/projects/mpsafetty/lib/msun/src/e_acosl.c#2 integrate .. //depot/projects/mpsafetty/lib/msun/src/e_atan2.c#3 integrate .. //depot/projects/mpsafetty/lib/msun/src/e_atan2f.c#3 integrate .. //depot/projects/mpsafetty/lib/msun/src/e_atan2l.c#2 integrate .. //depot/projects/mpsafetty/sbin/ifconfig/Makefile#2 integrate .. //depot/projects/mpsafetty/sbin/ifconfig/ifconfig.8#3 integrate .. //depot/projects/mpsafetty/sbin/ifconfig/ifconfig.c#2 integrate .. //depot/projects/mpsafetty/sbin/ifconfig/ifgre.c#1 branch .. //depot/projects/mpsafetty/sbin/ifconfig/ifieee80211.c#3 integrate .. //depot/projects/mpsafetty/sbin/ipfw/ipfw.8#3 integrate .. //depot/projects/mpsafetty/share/man/man4/wi.4#3 integrate .. //depot/projects/mpsafetty/share/man/man5/freebsd-update.conf.5#2 integrate .. //depot/projects/mpsafetty/share/man/man9/firmware.9#2 integrate .. //depot/projects/mpsafetty/share/man/man9/timeout.9#2 integrate .. //depot/projects/mpsafetty/sys/amd64/amd64/pmap.c#8 integrate .. //depot/projects/mpsafetty/sys/amd64/conf/GENERIC#5 integrate .. //depot/projects/mpsafetty/sys/amd64/conf/NOTES#2 integrate .. //depot/projects/mpsafetty/sys/amd64/include/param.h#3 integrate .. //depot/projects/mpsafetty/sys/arm/arm/db_interface.c#2 integrate .. //depot/projects/mpsafetty/sys/arm/arm/swtch.S#2 integrate .. //depot/projects/mpsafetty/sys/arm/at91/uart_dev_at91usart.c#2 integrate .. //depot/projects/mpsafetty/sys/arm/conf/AVILA#2 integrate .. //depot/projects/mpsafetty/sys/arm/conf/KB920X#2 integrate .. //depot/projects/mpsafetty/sys/arm/conf/NSLU#1 branch .. //depot/projects/mpsafetty/sys/arm/conf/NSLU.hints#1 branch .. //depot/projects/mpsafetty/sys/arm/include/db_machdep.h#2 integrate .. //depot/projects/mpsafetty/sys/cam/cam_xpt.c#2 integrate .. //depot/projects/mpsafetty/sys/conf/NOTES#4 integrate .. //depot/projects/mpsafetty/sys/ddb/db_run.c#2 integrate .. //depot/projects/mpsafetty/sys/dev/agp/agp_i810.c#2 integrate .. //depot/projects/mpsafetty/sys/dev/ciss/ciss.c#3 integrate .. //depot/projects/mpsafetty/sys/dev/ciss/cissreg.h#3 integrate .. //depot/projects/mpsafetty/sys/dev/ie/if_ie.c#2 integrate .. //depot/projects/mpsafetty/sys/dev/ie/if_ie_isa.c#2 integrate .. //depot/projects/mpsafetty/sys/dev/ie/if_ievar.h#2 integrate .. //depot/projects/mpsafetty/sys/dev/nvram/nvram.c#2 integrate .. //depot/projects/mpsafetty/sys/dev/pccard/pccarddevs#2 integrate .. //depot/projects/mpsafetty/sys/dev/usb/uipaq.c#2 integrate .. //depot/projects/mpsafetty/sys/dev/usb/usbdevs#2 integrate .. //depot/projects/mpsafetty/sys/dev/wi/if_wi.c#4 integrate .. //depot/projects/mpsafetty/sys/dev/wi/if_wi_pccard.c#2 integrate .. //depot/projects/mpsafetty/sys/dev/wi/if_wi_pci.c#2 integrate .. //depot/projects/mpsafetty/sys/dev/wi/if_wireg.h#2 integrate .. //depot/projects/mpsafetty/sys/i386/conf/GENERIC#5 integrate .. //depot/projects/mpsafetty/sys/i386/conf/NOTES#2 integrate .. //depot/projects/mpsafetty/sys/i386/i386/mp_machdep.c#2 integrate .. //depot/projects/mpsafetty/sys/kern/kern_timeout.c#3 integrate .. //depot/projects/mpsafetty/sys/modules/Makefile#3 integrate .. //depot/projects/mpsafetty/sys/modules/netgraph/Makefile#2 integrate .. //depot/projects/mpsafetty/sys/modules/netgraph/bluetooth/Makefile#2 integrate .. //depot/projects/mpsafetty/sys/net/bpf.c#3 integrate .. //depot/projects/mpsafetty/sys/net/bpfdesc.h#2 integrate .. //depot/projects/mpsafetty/sys/net/if_loop.c#2 integrate .. //depot/projects/mpsafetty/sys/net/if_media.h#2 integrate .. //depot/projects/mpsafetty/sys/net80211/ieee80211_dfs.c#2 integrate .. //depot/projects/mpsafetty/sys/net80211/ieee80211_freebsd.c#2 integrate .. //depot/projects/mpsafetty/sys/net80211/ieee80211_ht.c#2 integrate .. //depot/projects/mpsafetty/sys/net80211/ieee80211_input.c#2 integrate .. //depot/projects/mpsafetty/sys/netinet/ip_fw2.c#2 integrate .. //depot/projects/mpsafetty/sys/pc98/conf/GENERIC#3 integrate .. //depot/projects/mpsafetty/sys/pc98/conf/NOTES#2 integrate .. //depot/projects/mpsafetty/sys/powerpc/conf/GENERIC#3 integrate .. //depot/projects/mpsafetty/sys/security/mac_biba/mac_biba.c#2 integrate .. //depot/projects/mpsafetty/sys/security/mac_lomac/mac_lomac.c#2 integrate .. //depot/projects/mpsafetty/sys/security/mac_mls/mac_mls.c#2 integrate .. //depot/projects/mpsafetty/sys/security/mac_partition/mac_partition.c#2 integrate .. //depot/projects/mpsafetty/sys/sparc64/conf/GENERIC#3 integrate .. //depot/projects/mpsafetty/sys/sun4v/conf/GENERIC#3 integrate .. //depot/projects/mpsafetty/sys/sys/callout.h#2 integrate .. //depot/projects/mpsafetty/sys/sys/elf_common.h#2 integrate .. //depot/projects/mpsafetty/tools/regression/environ/envctl.c#2 integrate .. //depot/projects/mpsafetty/tools/regression/environ/envtest.t#2 integrate .. //depot/projects/mpsafetty/tools/regression/lib/libc/gen/Makefile#2 integrate .. //depot/projects/mpsafetty/tools/regression/lib/libc/gen/test-fmtcheck.c#1 branch .. //depot/projects/mpsafetty/tools/regression/lib/msun/test-invtrig.c#2 integrate .. //depot/projects/mpsafetty/tools/tools/net80211/scripts/setup.dfs#2 integrate .. //depot/projects/mpsafetty/usr.bin/calendar/calendars/calendar.holiday#2 integrate .. //depot/projects/mpsafetty/usr.bin/ldd/Makefile#2 integrate .. //depot/projects/mpsafetty/usr.bin/ldd/ldd.1#2 integrate .. //depot/projects/mpsafetty/usr.bin/ldd/ldd.c#4 integrate .. //depot/projects/mpsafetty/usr.bin/printf/printf.c#2 integrate .. //depot/projects/mpsafetty/usr.sbin/bootparamd/bootparamd/main.c#2 integrate .. //depot/projects/mpsafetty/usr.sbin/cron/cron/do_command.c#2 integrate .. //depot/projects/mpsafetty/usr.sbin/freebsd-update/freebsd-update.8#2 integrate .. //depot/projects/mpsafetty/usr.sbin/freebsd-update/freebsd-update.sh#2 integrate Differences ... ==== //depot/projects/mpsafetty/Makefile.inc1#2 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.607 2008/06/25 21:33:28 ru Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.609 2008/08/02 12:14:22 jhb Exp $ # # Make command line options: # -DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir @@ -453,7 +453,8 @@ .if ${MK_KERBEROS} != "no" .for _t in obj depend all cd ${.CURDIR}/kerberos5/tools; \ - MAKEOBJDIRPREFIX=${OBJTREE}/lib32 ${MAKE} -DWITHOUT_SSP DESTDIR= ${_t} + MAKEOBJDIRPREFIX=${OBJTREE}/lib32 ${MAKE} -DWITHOUT_SSP DESTDIR= \ + ${_t} .endfor .endif .for _t in obj includes @@ -475,13 +476,14 @@ .endfor .for _dir in lib/ncurses/ncurses lib/ncurses/ncursesw lib/libmagic cd ${.CURDIR}/${_dir}; \ - MAKEOBJDIRPREFIX=${OBJTREE}/lib32 ${MAKE} -DWITHOUT_SSP DESTDIR= build-tools + MAKEOBJDIRPREFIX=${OBJTREE}/lib32 ${MAKE} -DWITHOUT_SSP DESTDIR= \ + build-tools .endfor cd ${.CURDIR}; \ ${LIB32WMAKE} -f Makefile.inc1 libraries .for _t in obj depend all - cd ${.CURDIR}/libexec/rtld-elf; \ - PROG=ld-elf32.so.1 ${LIB32WMAKE} ${_t} + cd ${.CURDIR}/libexec/rtld-elf; PROG=ld-elf32.so.1 ${LIB32WMAKE} ${_t} + cd ${.CURDIR}/usr.bin/ldd; PROG=ldd32 ${LIB32WMAKE} ${_t} .endfor distribute32 install32: @@ -500,10 +502,11 @@ .if ${MK_CRYPT} != "no" cd ${.CURDIR}/secure/lib; ${LIB32IMAKE} ${.TARGET:S/32$//} .endif - cd ${.CURDIR}/libexec/rtld-elf; PROG=ld-elf32.so.1 ${LIB32IMAKE} ${.TARGET:S/32$//} + cd ${.CURDIR}/libexec/rtld-elf; \ + PROG=ld-elf32.so.1 ${LIB32IMAKE} ${.TARGET:S/32$//} + cd ${.CURDIR}/usr.bin/ldd; PROG=ldd32 ${LIB32IMAKE} ${.TARGET:S/32$//} .endif - WMAKE_TGTS= .if !defined(SUBDIR_OVERRIDE) WMAKE_TGTS+= _worldtmp _legacy _bootstrap-tools @@ -666,7 +669,8 @@ @echo "--------------------------------------------------------------" ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 distribute .if ${TARGET_ARCH} == "amd64" && ${MK_LIB32} != "no" - ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 distribute32 DISTRIBUTION=lib32 + ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 distribute32 \ + DISTRIBUTION=lib32 .endif distrib-dirs distribution: ==== //depot/projects/mpsafetty/etc/defaults/rc.conf#2 (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.337 2008/06/19 07:06:11 mtm Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.338 2008/08/01 05:15:54 dougb Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -234,8 +234,8 @@ # details. # named_enable="NO" # Run named, the DNS server (or NO). -named_program="/usr/sbin/named" # path to named, if you want a different one. -#named_flags="" # Flags for named +named_program="/usr/sbin/named" # Path to named, if you want a different one. +#named_flags="-c /etc/namedb/named.conf" # Uncomment for named not in /usr/sbin named_pidfile="/var/run/named/pid" # Must set this in named.conf as well named_uid="bind" # User to run named as named_chrootdir="/var/named" # Chroot directory (or "" not to auto-chroot it) ==== //depot/projects/mpsafetty/etc/freebsd-update.conf#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/freebsd-update.conf,v 1.4 2008/03/25 12:13:12 cperciva Exp $ +# $FreeBSD: src/etc/freebsd-update.conf,v 1.5 2008/08/02 00:11:43 cperciva Exp $ # Trusted keyprint. Changing this is a Bad Idea unless you've received # a PGP-signed email from telling you to @@ -21,6 +21,10 @@ # statement will be ignored. IgnorePaths +# Paths which start with anything matching an entry in an IDSIgnorePaths +# statement will be ignored by "freebsd-update IDS". +IDSIgnorePaths /usr/share/man/cat + # Paths which start with anything matching an entry in an UpdateIfUnmodified # statement will only be updated if the contents of the file have not been # modified by the user (unless changes are merged; see below). ==== //depot/projects/mpsafetty/etc/rc.d/named#2 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/named,v 1.27 2007/10/22 09:38:44 dougb Exp $ +# $FreeBSD: src/etc/rc.d/named,v 1.28 2008/08/01 06:11:33 dougb Exp $ # # PROVIDE: named @@ -32,6 +32,8 @@ # chroot_autoupdate() { + local file + # Create (or update) the chroot directory structure # if [ -r /etc/mtree/BIND.chroot.dist ]; then @@ -64,12 +66,14 @@ devfs -m ${named_chrootdir}/dev rule apply path null unhide devfs -m ${named_chrootdir}/dev rule apply path random unhide - # Copy local timezone information if it is not up to date. + # Copy and/or update key files to the chroot /etc # - if [ -r /etc/localtime ]; then - cmp -s /etc/localtime "${named_chrootdir}/etc/localtime" || - cp -p /etc/localtime "${named_chrootdir}/etc/localtime" - fi + for file in localtime protocols services; do + if [ -r /etc/$file ]; then + cmp -s /etc/$file "${named_chrootdir}/etc/$file" || + cp -p /etc/$file "${named_chrootdir}/etc/$file" + fi + done } # Make symlinks to the correct pid file ==== //depot/projects/mpsafetty/games/fortune/datfiles/fortunes#4 (text+ko) ==== @@ -1,5 +1,5 @@ This fortune brought to you by: -$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.269 2008/07/22 14:21:56 maxim Exp $ +$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.270 2008/08/02 20:11:56 phk Exp $ % ======================================================================= || || @@ -28112,6 +28112,10 @@ rolled back. -- Hunter S. Thompson, "Fear and Loathing in Las Vegas" % +"In the age of the internet attaching a famous name to your personal +opinion to give more weight to it is a very valid strategy." + -- Benjamin Franklin +% In the beginning there was nothing. And the Lord said "Let There Be Light!" And still there was nothing, but at least now you could see it. % @@ -34279,11 +34283,6 @@ My own business always bores me to death; I prefer other people's. -- Oscar Wilde % -My own feelings are perhaps best described by saying that I am -perfectly aware that there is no Royal Road to Mathematics, in other -words, that I have only a very small head and must live with it. - -- Edsger W. Dijkstra -% My own dear love, he is strong and bold And he cares not what comes after. His words ring sweet as a chime of gold, @@ -34294,6 +34293,11 @@ And I wish I'd never met him. -- Dorothy Parker, part 1 % +My own feelings are perhaps best described by saying that I am +perfectly aware that there is no Royal Road to Mathematics, in other +words, that I have only a very small head and must live with it. + -- Edsger W. Dijkstra +% My own life has been spent chronicling the rise and fall of human systems, and I am convinced that we are terribly vulnerable. ... We should be reluctant to turn back upon the frontier of this epoch. Space is indifferent ==== //depot/projects/mpsafetty/gnu/usr.bin/gdb/arch/arm/Makefile#2 (text+ko) ==== @@ -1,8 +1,11 @@ -# $FreeBSD: src/gnu/usr.bin/gdb/arch/arm/Makefile,v 1.2 2007/11/17 21:30:03 cognet Exp $ +# $FreeBSD: src/gnu/usr.bin/gdb/arch/arm/Makefile,v 1.4 2008/08/02 12:33:39 cognet Exp $ GENSRCS+= xm.h LIBSRCS+= armfbsd-nat.c -LIBSRCS+= arm-tdep.c armfbsd-tdep.c solib.c solib-svr4.c fbsd-threads.c +LIBSRCS+= arm-tdep.c armfbsd-tdep.c solib.c solib-svr4.c +.if !defined(GDB_CROSS_DEBUGGER) +LIBSRCS+= fbsd-threads.c +.endif nm.h: #XXX this should be arm/nm-fbsd.h but won't until it's merged into the gdb repo ==== //depot/projects/mpsafetty/lib/libc/gen/fmtcheck.3#2 (text+ko) ==== @@ -31,7 +31,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/gen/fmtcheck.3,v 1.9 2004/07/02 23:52:10 ru Exp $ +.\" $FreeBSD: src/lib/libc/gen/fmtcheck.3,v 1.10 2008/08/02 06:02:42 das Exp $ .Dd October 16, 2002 .Os .Dt FMTCHECK 3 @@ -112,6 +112,4 @@ .Sh BUGS The .Fn fmtcheck -function does not understand all of the conversions that -.Xr printf 3 -does. +function does not recognize positional parameters. ==== //depot/projects/mpsafetty/lib/libc/gen/fmtcheck.c#2 (text+ko) ==== @@ -35,7 +35,7 @@ /* $NetBSD: fmtcheck.c,v 1.2 2000/11/01 01:17:20 briggs Exp $ */ #include -__FBSDID("$FreeBSD: src/lib/libc/gen/fmtcheck.c,v 1.8 2005/03/21 08:00:55 das Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/gen/fmtcheck.c,v 1.9 2008/08/02 06:02:42 das Exp $"); #include #include @@ -47,14 +47,18 @@ FMTCHECK_START, FMTCHECK_SHORT, FMTCHECK_INT, + FMTCHECK_WINTT, FMTCHECK_LONG, FMTCHECK_QUAD, + FMTCHECK_INTMAXT, FMTCHECK_PTRDIFFT, FMTCHECK_SIZET, + FMTCHECK_CHARPOINTER, FMTCHECK_SHORTPOINTER, FMTCHECK_INTPOINTER, FMTCHECK_LONGPOINTER, FMTCHECK_QUADPOINTER, + FMTCHECK_INTMAXTPOINTER, FMTCHECK_PTRDIFFTPOINTER, FMTCHECK_SIZETPOINTER, #ifndef NO_FLOATING_POINT @@ -62,6 +66,7 @@ FMTCHECK_LONGDOUBLE, #endif FMTCHECK_STRING, + FMTCHECK_WSTRING, FMTCHECK_WIDTH, FMTCHECK_PRECISION, FMTCHECK_DONE, @@ -69,6 +74,18 @@ }; typedef enum __e_fmtcheck_types EFT; +enum e_modifier { + MOD_NONE, + MOD_CHAR, + MOD_SHORT, + MOD_LONG, + MOD_QUAD, + MOD_INTMAXT, + MOD_LONGDOUBLE, + MOD_PTRDIFFT, + MOD_SIZET, +}; + #define RETURN(pf,f,r) do { \ *(pf) = (f); \ return r; \ @@ -77,101 +94,148 @@ static EFT get_next_format_from_precision(const char **pf) { - int sh, lg, quad, longdouble, ptrdifft, sizet; + enum e_modifier modifier; const char *f; - sh = lg = quad = longdouble = ptrdifft = sizet = 0; - f = *pf; switch (*f) { case 'h': f++; - sh = 1; + if (!*f) RETURN(pf,f,FMTCHECK_UNKNOWN); + if (*f == 'h') { + f++; + modifier = MOD_CHAR; + } else { + modifier = MOD_SHORT; + } + break; + case 'j': + f++; + modifier = MOD_INTMAXT; break; case 'l': f++; if (!*f) RETURN(pf,f,FMTCHECK_UNKNOWN); if (*f == 'l') { f++; - quad = 1; + modifier = MOD_QUAD; } else { - lg = 1; + modifier = MOD_LONG; } break; case 'q': f++; - quad = 1; + modifier = MOD_QUAD; break; case 't': f++; - ptrdifft = 1; + modifier = MOD_PTRDIFFT; break; case 'z': f++; - sizet = 1; + modifier = MOD_SIZET; break; case 'L': f++; - longdouble = 1; + modifier = MOD_LONGDOUBLE; break; default: + modifier = MOD_NONE; break; } if (!*f) RETURN(pf,f,FMTCHECK_UNKNOWN); if (strchr("diouxX", *f)) { - if (longdouble) - RETURN(pf,f,FMTCHECK_UNKNOWN); - if (lg) + switch (modifier) { + case MOD_LONG: RETURN(pf,f,FMTCHECK_LONG); - if (quad) + case MOD_QUAD: RETURN(pf,f,FMTCHECK_QUAD); - if (ptrdifft) + case MOD_INTMAXT: + RETURN(pf,f,FMTCHECK_INTMAXT); + case MOD_PTRDIFFT: RETURN(pf,f,FMTCHECK_PTRDIFFT); - if (sizet) + case MOD_SIZET: RETURN(pf,f,FMTCHECK_SIZET); - RETURN(pf,f,FMTCHECK_INT); + case MOD_CHAR: + case MOD_SHORT: + case MOD_NONE: + RETURN(pf,f,FMTCHECK_INT); + default: + RETURN(pf,f,FMTCHECK_UNKNOWN); + } } if (*f == 'n') { - if (longdouble) - RETURN(pf,f,FMTCHECK_UNKNOWN); - if (sh) + switch (modifier) { + case MOD_CHAR: + RETURN(pf,f,FMTCHECK_CHARPOINTER); + case MOD_SHORT: RETURN(pf,f,FMTCHECK_SHORTPOINTER); - if (lg) + case MOD_LONG: RETURN(pf,f,FMTCHECK_LONGPOINTER); - if (quad) + case MOD_QUAD: RETURN(pf,f,FMTCHECK_QUADPOINTER); - if (ptrdifft) + case MOD_INTMAXT: + RETURN(pf,f,FMTCHECK_INTMAXTPOINTER); + case MOD_PTRDIFFT: RETURN(pf,f,FMTCHECK_PTRDIFFTPOINTER); - if (sizet) + case MOD_SIZET: RETURN(pf,f,FMTCHECK_SIZETPOINTER); - RETURN(pf,f,FMTCHECK_INTPOINTER); + case MOD_NONE: + RETURN(pf,f,FMTCHECK_INTPOINTER); + default: + RETURN(pf,f,FMTCHECK_UNKNOWN); + } } if (strchr("DOU", *f)) { - if (sh + lg + quad + longdouble + ptrdifft + sizet) + if (modifier != MOD_NONE) RETURN(pf,f,FMTCHECK_UNKNOWN); RETURN(pf,f,FMTCHECK_LONG); } #ifndef NO_FLOATING_POINT if (strchr("aAeEfFgG", *f)) { - if (longdouble) + switch (modifier) { + case MOD_LONGDOUBLE: RETURN(pf,f,FMTCHECK_LONGDOUBLE); - if (sh + lg + quad + ptrdifft + sizet) + case MOD_LONG: + case MOD_NONE: + RETURN(pf,f,FMTCHECK_DOUBLE); + default: RETURN(pf,f,FMTCHECK_UNKNOWN); - RETURN(pf,f,FMTCHECK_DOUBLE); + } } #endif if (*f == 'c') { - if (sh + lg + quad + longdouble + ptrdifft + sizet) + switch (modifier) { + case MOD_LONG: + RETURN(pf,f,FMTCHECK_WINTT); + case MOD_NONE: + RETURN(pf,f,FMTCHECK_INT); + default: + RETURN(pf,f,FMTCHECK_UNKNOWN); + } + } + if (*f == 'C') { + if (modifier != MOD_NONE) RETURN(pf,f,FMTCHECK_UNKNOWN); - RETURN(pf,f,FMTCHECK_INT); + RETURN(pf,f,FMTCHECK_WINTT); } if (*f == 's') { - if (sh + lg + quad + longdouble + ptrdifft + sizet) + switch (modifier) { + case MOD_LONG: + RETURN(pf,f,FMTCHECK_WSTRING); + case MOD_NONE: + RETURN(pf,f,FMTCHECK_STRING); + default: + RETURN(pf,f,FMTCHECK_UNKNOWN); + } + } + if (*f == 'S') { + if (modifier != MOD_NONE) RETURN(pf,f,FMTCHECK_UNKNOWN); - RETURN(pf,f,FMTCHECK_STRING); + RETURN(pf,f,FMTCHECK_WSTRING); } if (*f == 'p') { - if (sh + lg + quad + longdouble + ptrdifft + sizet) + if (modifier != MOD_NONE) RETURN(pf,f,FMTCHECK_UNKNOWN); RETURN(pf,f,FMTCHECK_LONG); } ==== //depot/projects/mpsafetty/lib/libc/stdlib/getenv.c#2 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2007 Sean C. Farley + * Copyright (c) 2007-2008 Sean C. Farley * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/stdlib/getenv.c,v 1.13 2008/02/28 04:09:08 scf Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/stdlib/getenv.c,v 1.14 2008/08/02 02:34:35 scf Exp $"); #include "namespace.h" @@ -431,11 +431,13 @@ /* * Find environment variable via environ if no changes have been made - * via a *env() call or environ has been replaced by a running program, - * otherwise, use the rebuilt environment. + * via a *env() call or environ has been replaced or cleared by a + * running program, otherwise, use the rebuilt environment. */ if (envVars == NULL || environ != intEnviron) return (__findenv_environ(name, nameLen)); + else if (environ[0] == NULL) + return (NULL); else { envNdx = envVarsTotal - 1; return (__findenv(name, nameLen, &envNdx, true)); @@ -525,8 +527,8 @@ /* * If the program attempts to replace the array of environment variables - * (environ) environ, then deactivate all variables and merge in the new list - * from environ. + * (environ) environ or sets the first varible to NULL, then deactivate all + * variables and merge in the new list from environ. */ static int __merge_environ(void) @@ -534,8 +536,11 @@ char **env; char *equals; - /* environ has been replaced. clean up everything. */ - if (envVarsTotal > 0 && environ != intEnviron) { + /* + * Internally-built environ has been replaced or cleared. clean up + * everything. + */ + if (envVarsTotal > 0 && (environ != intEnviron || environ[0] == NULL)) { /* Deactivate all environment variables. */ if (envActive > 0) { origEnviron = NULL; ==== //depot/projects/mpsafetty/lib/libc/sys/ktrace.2#3 (text+ko) ==== @@ -26,7 +26,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)ktrace.2 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/sys/ktrace.2,v 1.26 2008/07/13 13:42:52 remko Exp $ +.\" $FreeBSD: src/lib/libc/sys/ktrace.2,v 1.27 2008/08/02 13:49:12 remko Exp $ .\" .Dd July 13, 2008 .Dt KTRACE 2 @@ -101,7 +101,7 @@ pid_t ktr_pid; /* process id */ char ktr_comm[MAXCOMLEN+1]; /* command name */ struct timeval ktr_time; /* timestamp */ - intptr_t ktr_tid; /* was ktr_buffer */ + intptr_t ktr_tid; /* was ktr_buffer */ }; .Ed .Pp ==== //depot/projects/mpsafetty/lib/msun/ld80/invtrig.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/msun/ld80/invtrig.h,v 1.1 2008/07/31 22:41:26 das Exp $ + * $FreeBSD: src/lib/msun/ld80/invtrig.h,v 1.2 2008/08/02 03:56:22 das Exp $ */ #include @@ -64,10 +64,21 @@ #define pio2_lo atanlo[3] #define pio4_hi atanhi[1] -extern const long double pS0, pS1, pS2, pS3, pS4, pS5, pS6; -extern const long double qS1, qS2, qS3, qS4, qS5; -extern const long double atanhi[], atanlo[], aT[]; -extern const long double pi_lo; +#ifdef STRUCT_DECLS +typedef struct longdouble { + uint64_t mant; + uint16_t expsign; +} LONGDOUBLE; +#else +typedef long double LONGDOUBLE; +#endif + +extern const LONGDOUBLE pS0, pS1, pS2, pS3, pS4, pS5, pS6; +extern const LONGDOUBLE qS1, qS2, qS3, qS4, qS5; +extern const LONGDOUBLE atanhi[], atanlo[], aT[]; +extern const LONGDOUBLE pi_lo; + +#ifndef STRUCT_DECLS static inline long double P(long double x) @@ -99,3 +110,5 @@ return (aT[1] + x * (aT[3] + x * (aT[5] + x * (aT[7] + x * \ (aT[9] + x * aT[11]))))); } + +#endif ==== //depot/projects/mpsafetty/lib/msun/src/e_acosl.c#2 (text+ko) ==== @@ -13,7 +13,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/msun/src/e_acosl.c,v 1.1 2008/07/31 22:41:26 das Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/src/e_acosl.c,v 1.2 2008/08/02 03:56:22 das Exp $"); /* * See comments in e_acos.c. @@ -27,9 +27,19 @@ #include "math_private.h" static const long double -one= 1.00000000000000000000e+00, +one= 1.00000000000000000000e+00; + +#ifdef __i386__ +/* XXX Work around the fact that gcc truncates long double constants on i386 */ +static volatile double +pi1 = 3.14159265358979311600e+00, /* 0x1.921fb54442d18p+1 */ +pi2 = 1.22514845490862001043e-16; /* 0x1.1a80000000000p-53 */ +#define pi ((long double)pi1 + pi2) +#else +static const long double pi = 3.14159265358979323846264338327950280e+00L; - +#endif + long double acosl(long double x) { ==== //depot/projects/mpsafetty/lib/msun/src/e_atan2.c#3 (text+ko) ==== @@ -13,7 +13,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/msun/src/e_atan2.c,v 1.13 2008/07/31 22:41:26 das Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/src/e_atan2.c,v 1.14 2008/08/02 19:17:00 das Exp $"); /* __ieee754_atan2(y,x) * Method : @@ -109,17 +109,15 @@ /* compute y/x */ k = (iy-ix)>>20; - if(k > 60) z=pi_o_2+0.5*pi_lo; /* |y/x| > 2**60 */ - else if(hx<0&&k<-60) z=0.0; /* |y|/x < -2**60 */ + if(k > 60) { /* |y/x| > 2**60 */ + z=pi_o_2+0.5*pi_lo; + m&=1; + } + else if(hx<0&&k<-60) z=0.0; /* 0 > |y|/x > -2**-60 */ else z=atan(fabs(y/x)); /* safe to do y/x */ switch (m) { case 0: return z ; /* atan(+,+) */ - case 1: { - u_int32_t zh; - GET_HIGH_WORD(zh,z); - SET_HIGH_WORD(z,zh ^ 0x80000000); - } - return z ; /* atan(-,+) */ + case 1: return -z ; /* atan(-,+) */ case 2: return pi-(z-pi_lo);/* atan(+,-) */ default: /* case 3 */ return (z-pi_lo)-pi;/* atan(-,-) */ ==== //depot/projects/mpsafetty/lib/msun/src/e_atan2f.c#3 (text+ko) ==== @@ -14,7 +14,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/msun/src/e_atan2f.c,v 1.10 2008/08/01 01:24:25 das Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/src/e_atan2f.c,v 1.11 2008/08/02 19:17:00 das Exp $"); #include "math.h" #include "math_private.h" @@ -80,17 +80,15 @@ /* compute y/x */ k = (iy-ix)>>23; - if(k > 26) z=pi_o_2+(float)0.5*pi_lo; /* |y/x| > 2**26 */ - else if(hx<0&&k<-26) z=0.0; /* |y|/x < -2**26 */ + if(k > 26) { /* |y/x| > 2**26 */ + z=pi_o_2+(float)0.5*pi_lo; + m&=1; + } + else if(hx<0&&k<-26) z=0.0; /* 0 > |y|/x > -2**-26 */ else z=atanf(fabsf(y/x)); /* safe to do y/x */ switch (m) { case 0: return z ; /* atan(+,+) */ - case 1: { - u_int32_t zh; - GET_FLOAT_WORD(zh,z); - SET_FLOAT_WORD(z,zh ^ 0x80000000); - } - return z ; /* atan(-,+) */ + case 1: return -z ; /* atan(-,+) */ case 2: return pi-(z-pi_lo);/* atan(+,-) */ default: /* case 3 */ return (z-pi_lo)-pi;/* atan(-,-) */ ==== //depot/projects/mpsafetty/lib/msun/src/e_atan2l.c#2 (text+ko) ==== @@ -14,7 +14,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/msun/src/e_atan2l.c,v 1.1 2008/07/31 22:41:26 das Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/src/e_atan2l.c,v 1.3 2008/08/02 19:17:00 das Exp $"); /* * See comments in e_atan2.c. @@ -30,8 +30,18 @@ static volatile long double tiny = 1.0e-300; static const long double -zero = 0.0, -pi = 3.14159265358979323846264338327950280e+00L; +zero = 0.0; + +#ifdef __i386__ +/* XXX Work around the fact that gcc truncates long double constants on i386 */ +static volatile double +pi1 = 3.14159265358979311600e+00, /* 0x1.921fb54442d18p+1 */ +pi2 = 1.22514845490862001043e-16; /* 0x1.1a80000000000p-53 */ +#define pi ((long double)pi1 + pi2) +#else +static const long double +pi = 3.14159265358979323846264338327950280e+00L; +#endif long double atan2l(long double y, long double x) @@ -94,7 +104,10 @@ /* compute y/x */ k = expty-exptx; - if(k > LDBL_MANT_DIG+2) z=pio2_hi+pio2_lo; /* |y/x| huge */ + if(k > LDBL_MANT_DIG+2) { /* |y/x| huge */ + z=pio2_hi+pio2_lo; + m&=1; + } else if(expsignx<0&&k<-LDBL_MANT_DIG-2) z=0.0; /* |y/x| tiny, x<0 */ else z=atanl(fabsl(y/x)); /* safe to do y/x */ switch (m) { ==== //depot/projects/mpsafetty/sbin/ifconfig/Makefile#2 (text+ko) ==== @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 6/5/93 -# $FreeBSD: src/sbin/ifconfig/Makefile,v 1.34 2008/04/20 20:35:46 sam Exp $ +# $FreeBSD: src/sbin/ifconfig/Makefile,v 1.35 2008/08/03 03:36:12 thompsa Exp $ .include @@ -23,6 +23,7 @@ SRCS+= ifmac.c # MAC support SRCS+= ifmedia.c # SIOC[GS]IFMEDIA support SRCS+= ifvlan.c # SIOC[GS]ETVLAN support +SRCS+= ifgre.c # GRE keys etc SRCS+= ifieee80211.c regdomain.c # SIOC[GS]IEEE80211 support DPADD+= ${LIBBSDXML} ${LIBSBUF} ==== //depot/projects/mpsafetty/sbin/ifconfig/ifconfig.8#3 (text+ko) ==== @@ -26,7 +26,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)ifconfig.8 8.3 (Berkeley) 1/5/94 -.\" $FreeBSD: src/sbin/ifconfig/ifconfig.8,v 1.149 2008/07/30 16:22:52 sam Exp $ +.\" $FreeBSD: src/sbin/ifconfig/ifconfig.8,v 1.150 2008/08/02 18:10:14 sam Exp $ .\" .Dd July 30, 2008 .Dt IFCONFIG 8 @@ -1300,7 +1300,11 @@ .Fl v flag causes this information to be displayed symbolicaly. .It Cm list wme -Display the current parameters to use when operating in WME mode. +Display the current channel parameters to use when operating in WME mode. +If the +.Fl v +option is specified then both channel and BSS parameters are displayed +for each AC (first channel, then BSS). When WME mode is enabled for an adaptor this information will be displayed with the regular status; this command is mostly useful for examining parameters when WME mode is disabled. ==== //depot/projects/mpsafetty/sbin/ifconfig/ifconfig.c#2 (text+ko) ==== @@ -38,7 +38,7 @@ static char sccsid[] = "@(#)ifconfig.c 8.2 (Berkeley) 2/16/94"; #endif static const char rcsid[] = - "$FreeBSD: src/sbin/ifconfig/ifconfig.c,v 1.137 2008/06/20 17:26:34 thompsa Exp $"; + "$FreeBSD: src/sbin/ifconfig/ifconfig.c,v 1.138 2008/08/03 03:36:12 thompsa Exp $"; #endif /* not lint */ #include @@ -51,7 +51,6 @@ #include #include -#include #include #include #include @@ -750,18 +749,6 @@ } static void -setifgrekey(const char *val, int dummy __unused, int s, - const struct afswtch *afp) -{ - uint32_t grekey = atol(val); - - strncpy(ifr.ifr_name, name, sizeof (ifr.ifr_name)); - ifr.ifr_data = (caddr_t)&grekey; - if (ioctl(s, GRESKEY, (caddr_t)&ifr) < 0) - warn("ioctl (set grekey)"); -} - -static void setifname(const char *val, int dummy __unused, int s, const struct afswtch *afp) { @@ -876,12 +863,6 @@ if (ioctl(s, SIOCGIFSTATUS, &ifs) == 0) printf("%s", ifs.ascii); - int grekey = 0; - ifr.ifr_data = (caddr_t)&grekey; - if (ioctl(s, GREGKEY, &ifr) == 0) - if (grekey != 0) - printf("\tgrekey: %d\n", grekey); - close(s); return; } @@ -1053,7 +1034,6 @@ DEF_CMD("noicmp", IFF_LINK1, setifflags), DEF_CMD_ARG("mtu", setifmtu), DEF_CMD_ARG("name", setifname), - DEF_CMD_ARG("grekey", setifgrekey), }; static __constructor void ==== //depot/projects/mpsafetty/sbin/ifconfig/ifieee80211.c#3 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sbin/ifconfig/ifieee80211.c,v 1.53 2008/08/01 01:27:52 sam Exp $ + * $FreeBSD: src/sbin/ifconfig/ifieee80211.c,v 1.55 2008/08/02 18:10:14 sam Exp $ */ /*- @@ -185,7 +185,7 @@ if (rdp == NULL) { rdp = lib80211_alloc_regdata(); if (rdp == NULL) - exit(-1); + errx(-1, "missing or corrupted regdomain database"); } return rdp; } @@ -3114,48 +3114,63 @@ } static void -list_wme(int s) +list_wme_aci(int s, const char *tag, int ac) { - static const char *acnames[] = { "AC_BE", "AC_BK", "AC_VI", "AC_VO" }; - int ac, val; + int val; - for (ac = WME_AC_BE; ac <= WME_AC_VO; ac++) { -again: - if (ac & IEEE80211_WMEPARAM_BSS) - printf("\t%s", " "); - else - printf("\t%s", acnames[ac]); + printf("\t%s", tag); - /* show WME BSS parameters */ - if (get80211wme(s, IEEE80211_IOC_WME_CWMIN, ac, &val) != -1) - printf(" cwmin %2u", val); - if (get80211wme(s, IEEE80211_IOC_WME_CWMAX, ac, &val) != -1) - printf(" cwmax %2u", val); - if (get80211wme(s, IEEE80211_IOC_WME_AIFS, ac, &val) != -1) - printf(" aifs %2u", val); - if (get80211wme(s, IEEE80211_IOC_WME_TXOPLIMIT, ac, &val) != -1) >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Aug 3 11:17:42 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 203B6106567A; Sun, 3 Aug 2008 11:17:42 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D864A1065693 for ; Sun, 3 Aug 2008 11:17:41 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id AD22A8FC15 for ; Sun, 3 Aug 2008 11:17:41 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m73BHfbS007700 for ; Sun, 3 Aug 2008 11:17:41 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m73BHfVi007698 for perforce@freebsd.org; Sun, 3 Aug 2008 11:17:41 GMT (envelope-from ed@FreeBSD.org) Date: Sun, 3 Aug 2008 11:17:41 GMT Message-Id: <200808031117.m73BHfVi007698@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 146516 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, 03 Aug 2008 11:17:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=146516 Change 146516 by ed@ed_dull on 2008/08/03 11:17:00 Properly turn off the high watermark when we transmitted the software flow control character. Affected files ... .. //depot/projects/mpsafetty/sys/kern/tty.c#11 edit Differences ... ==== //depot/projects/mpsafetty/sys/kern/tty.c#11 (text+ko) ==== @@ -1682,7 +1682,7 @@ */ if (ttyoutq_write_nofrag(&tp->t_outq, &tp->t_termios.c_cc[VSTART], 1) == 0) - tp->t_flags |= TF_HIWAT_IN; + tp->t_flags &= ~TF_HIWAT_IN; } else { /* No input flow control */ tp->t_flags &= ~TF_HIWAT_IN; From owner-p4-projects@FreeBSD.ORG Sun Aug 3 11:53:18 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 09B011065673; Sun, 3 Aug 2008 11:53:18 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C1A7C1065670 for ; Sun, 3 Aug 2008 11:53:17 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B0D918FC21 for ; Sun, 3 Aug 2008 11:53:17 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m73BrHkK010684 for ; Sun, 3 Aug 2008 11:53:17 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m73BrHR9010682 for perforce@freebsd.org; Sun, 3 Aug 2008 11:53:17 GMT (envelope-from ed@FreeBSD.org) Date: Sun, 3 Aug 2008 11:53:17 GMT Message-Id: <200808031153.m73BrHR9010682@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 146517 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, 03 Aug 2008 11:53:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=146517 Change 146517 by ed@ed_flippo on 2008/08/03 11:52:33 Print the session ID and process group ID in correct order. Affected files ... .. //depot/projects/mpsafetty/sys/kern/tty.c#12 edit Differences ... ==== //depot/projects/mpsafetty/sys/kern/tty.c#12 (text+ko) ==== @@ -1754,8 +1754,8 @@ tp->t_outq.to_end - tp->t_outq.to_begin, osiz - tp->t_outlow, tp->t_column, - tp->t_pgrp ? tp->t_pgrp->pg_id : 0, - tp->t_session ? tp->t_session->s_sid : 0); + tp->t_session ? tp->t_session->s_sid : 0, + tp->t_pgrp ? tp->t_pgrp->pg_id : 0); /* Flag bits */ for (i = j = 0; ttystates[i].flag; i++) From owner-p4-projects@FreeBSD.ORG Sun Aug 3 12:55:26 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E512E106567A; Sun, 3 Aug 2008 12:55:25 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A6FB51065673 for ; Sun, 3 Aug 2008 12:55:25 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 94B9A8FC08 for ; Sun, 3 Aug 2008 12:55:25 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m73CtPsv025878 for ; Sun, 3 Aug 2008 12:55:25 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m73CtPLP025876 for perforce@freebsd.org; Sun, 3 Aug 2008 12:55:25 GMT (envelope-from ed@FreeBSD.org) Date: Sun, 3 Aug 2008 12:55:25 GMT Message-Id: <200808031255.m73CtPLP025876@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 146518 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, 03 Aug 2008 12:55:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=146518 Change 146518 by ed@ed_flippo on 2008/08/03 12:54:42 Very first cut to get nmdm(4) working. Does not compile, but I'd better check it in to make sure it doesn't get lost. Affected files ... .. //depot/projects/mpsafetty/sys/dev/nmdm/nmdm.c#2 edit Differences ... ==== //depot/projects/mpsafetty/sys/dev/nmdm/nmdm.c#2 (text+ko) ==== @@ -48,154 +48,158 @@ #include #include #include +#include #include #include #include #include #include -MALLOC_DEFINE(M_NLMDM, "nullmodem", "nullmodem data structures"); +MALLOC_DEFINE(M_NMDM, "nullmodem", "nullmodem data structures"); -static d_close_t nmdmclose; -static t_modem_t nmdmmodem; -static d_open_t nmdmopen; -static t_oproc_t nmdmoproc; -static t_param_t nmdmparam; -static t_stop_t nmdmstop; +static tsw_outwakeup_t nmdm_outwakeup; +static tsw_param_t nmdm_param; +static tsw_modem_t nmdm_modem; -static struct cdevsw nmdm_cdevsw = { - .d_version = D_VERSION, - .d_open = nmdmopen, - .d_close = nmdmclose, - .d_name = "nmdn", - .d_flags = D_TTY | D_PSEUDO | D_NEEDGIANT | D_NEEDMINOR, +static struct ttydevsw nmdm_class = { + .tsw_flags = TF_NOPREFIX, + .tsw_outwakeup = nmdm_outwakeup, + .tsw_param = nmdm_param, + .tsw_modem = nmdm_modem, }; -#define BUFSIZ 100 /* Chunk size iomoved to/from user */ -#define NMDM_MAX_NUM 128 /* Artificially limit # devices. */ -#define PF_STOPPED 0x10 /* user told stopped */ -#define BFLAG CLONE_FLAG0 +static void nmdm_task_tty(void *, int); + +struct nmdmsoftc; -struct softpart { - struct tty *nm_tty; - struct cdev *dev; - int nm_dcd; - struct task pt_task; - struct softpart *other; - struct callout co; - u_long quota; - u_long accumulator; - int rate; - int credits; +struct nmdmpart { + struct tty *np_tty; + int np_dcd; + struct task np_task; + struct nmdmpart *np_other; + struct nmdmsoftc *np_pair; + struct callout np_callout; + u_long np_quota; + u_long np_accumulator; + int np_rate; + int np_credits; #define QS 8 /* Quota shift */ }; -struct nm_softc { - TAILQ_ENTRY(nm_softc) pt_list; - int pt_flags; - struct softpart part1, part2; - struct prison *pt_prison; +struct nmdmsoftc { + struct nmdmpart ns_part1; + struct nmdmpart ns_part2; + struct mtx ns_mtx; }; -static struct clonedevs *nmdmclones; -static TAILQ_HEAD(,nm_softc) nmdmhead = TAILQ_HEAD_INITIALIZER(nmdmhead); +static struct nmdmsoftc * +nmdm_alloc(unsigned long unit, struct ucred *cr) +{ + struct nmdmsoftc *ns; + struct tty *tp; + + ns = malloc(sizeof(*ns), M_NMDM, M_WAITOK|M_ZERO); + mtx_init(&ns->ns_mtx, "nmdm", NULL, MTX_DEF); + + /* Hook the pairs together */ + ns->ns_part1.np_pair = ns; + ns->ns_part1.np_other = &ns->ns_part2; + TASK_INIT(&ns->ns_part1.np_task, 0, nmdm_task_tty, &ns->ns_part1); + callout_init(&ns->ns_part1.np_callout, 0); + + ns->ns_part2.np_pair = ns; + ns->ns_part2.np_other = &ns->ns_part1; + TASK_INIT(&ns->ns_part2.np_task, 0, nmdm_task_tty, &ns->ns_part2); + callout_init(&ns->ns_part2.np_callout, 0); + + /* Create device nodes */ + tp = ns->ns_part1.np_tty = tty_alloc(&nmdm_class, &ns->ns_part1, + &ns->ns_mtx); + tty_makedev(tp, cr, "nmdm%luA", unit); + + tp = ns->ns_part2.np_tty = tty_alloc(&nmdm_class, &ns->ns_part2, + &ns->ns_mtx); + tty_makedev(tp, cr, "nmdm%luB", unit); + + return (ns); +} static void nmdm_clone(void *arg, struct ucred *cred, char *name, int nameen, struct cdev **dev) { - int i, unit; - char *p; - struct cdev *d1, *d2; + unsigned long unit; + char *end; + struct nmdmsoftc *ns; if (*dev != NULL) return; - if (strcmp(name, "nmdm") == 0) { - p = NULL; - unit = -1; - } else { - i = dev_stdclone(name, &p, "nmdm", &unit); - if (i == 0) - return; - if (p[0] != '\0' && p[0] != 'A' && p[0] != 'B') - return; - else if (p[0] != '\0' && p[1] != '\0') - return; - } - i = clone_create(&nmdmclones, &nmdm_cdevsw, &unit, &d1, 0); - if (i) { - d1 = make_dev(&nmdm_cdevsw, unit2minor(unit), - 0, 0, 0666, "nmdm%dA", unit); - if (d1 == NULL) - return; - d2 = make_dev(&nmdm_cdevsw, unit2minor(unit) | BFLAG, - 0, 0, 0666, "nmdm%dB", unit); - if (d2 == NULL) { - destroy_dev(d1); - return; - } - d2->si_drv2 = d1; - d1->si_drv2 = d2; - dev_depends(d1, d2); - dev_depends(d2, d1); - d1->si_flags |= SI_CHEAPCLONE; - d2->si_flags |= SI_CHEAPCLONE; - } - if (p != NULL && p[0] == 'B') - *dev = d1->si_drv2; + if (strncmp(name, "nmdm", 4) != 0) + return; + + /* Device name must be "nmdm%lu%c", where %c is 'A' or 'B' */ + name += 4; + unit = strtoul(name, &end, 10); + if (unit == ULONG_MAX || name == end) + return; + if ((end[0] != 'A' && end[0] != 'B') || end[1] != '\0') + return; + + ns = nmdm_alloc(unit, cred); + + if (end[1] == 'A') + *dev = ns->ns_part1.np_tty->t_dev; else - *dev = d1; - dev_ref(*dev); + *dev = ns->ns_part2.np_tty->t_dev; } static void nmdm_timeout(void *arg) { - struct softpart *sp; + struct nmdmpart *np = arg; - sp = arg; - - if (sp->rate == 0) + if (np->np_rate == 0) return; /* * Do a simple Floyd-Steinberg dither here to avoid FP math. * Wipe out unused quota from last tick. */ - sp->accumulator += sp->credits; - sp->quota = sp->accumulator >> QS; - sp->accumulator &= ((1 << QS) - 1); + np->np_accumulator += np->np_credits; + np->np_quota = np->np_accumulator >> QS; + np->np_accumulator &= ((1 << QS) - 1); - taskqueue_enqueue(taskqueue_swi_giant, &sp->pt_task); - callout_reset(&sp->co, sp->rate, nmdm_timeout, arg); + taskqueue_enqueue(taskqueue_swi, &np->np_task); + callout_reset(&np->np_callout, np->np_rate, nmdm_timeout, np); } static void nmdm_task_tty(void *arg, int pending __unused) { struct tty *tp, *otp; - struct softpart *sp; + struct nmdmpart *np = tty_softc(tp); +#if 0 int c; +#endif tp = arg; - sp = tp->t_sc; - otp = sp->other->nm_tty; + otp = np->np_other->np_tty; KASSERT(otp != NULL, ("NULL otp in nmdmstart")); KASSERT(otp != tp, ("NULL otp == tp nmdmstart")); - if (sp->other->nm_dcd) { - if (!(tp->t_state & TS_ISOPEN)) { - sp->other->nm_dcd = 0; - (void)ttyld_modem(otp, 0); + if (np->np_other->np_dcd) { + if (!tty_opened(tp)) { + np->np_other->np_dcd = 0; + (void)ttydisc_modem(otp, 0); } } else { - if (tp->t_state & TS_ISOPEN) { - sp->other->nm_dcd = 1; - (void)ttyld_modem(otp, 1); + if (tty_opened(tp)) { + np->np_other->np_dcd = 1; + (void)ttydisc_modem(otp, 1); } } - if (tp->t_state & TS_TTSTOP) - return; + +#if 0 while (tp->t_outq.c_cc != 0) { if (sp->rate && !sp->quota) return; @@ -208,92 +212,7 @@ } if (tp->t_outq.c_cc == 0) ttwwakeup(tp); - -} - -/* - * This function creates and initializes a pair of ttys. - */ -static void -nmdminit(struct cdev *dev1) -{ - struct cdev *dev2; - struct nm_softc *pt; - - dev2 = dev1->si_drv2; - - dev1->si_flags &= ~SI_CHEAPCLONE; - dev2->si_flags &= ~SI_CHEAPCLONE; - - pt = malloc(sizeof(*pt), M_NLMDM, M_WAITOK | M_ZERO); - TAILQ_INSERT_TAIL(&nmdmhead, pt, pt_list); - - dev1->si_drv1 = dev2->si_drv1 = pt; - - pt->part1.dev = dev1; - pt->part2.dev = dev2; - - pt->part1.nm_tty = ttyalloc(); - pt->part1.nm_tty->t_oproc = nmdmoproc; - pt->part1.nm_tty->t_stop = nmdmstop; - pt->part1.nm_tty->t_modem = nmdmmodem; - pt->part1.nm_tty->t_param = nmdmparam; - pt->part1.nm_tty->t_dev = dev1; - pt->part1.nm_tty->t_sc = &pt->part1; - TASK_INIT(&pt->part1.pt_task, 0, nmdm_task_tty, pt->part1.nm_tty); - callout_init(&pt->part1.co, 0); - - pt->part2.nm_tty = ttyalloc(); - pt->part2.nm_tty->t_oproc = nmdmoproc; - pt->part2.nm_tty->t_stop = nmdmstop; - pt->part2.nm_tty->t_modem = nmdmmodem; - pt->part2.nm_tty->t_param = nmdmparam; - pt->part2.nm_tty->t_dev = dev2; - pt->part2.nm_tty->t_sc = &pt->part2; - TASK_INIT(&pt->part2.pt_task, 0, nmdm_task_tty, pt->part2.nm_tty); - callout_init(&pt->part2.co, 0); - - pt->part1.other = &pt->part2; - pt->part2.other = &pt->part1; - - dev1->si_tty = pt->part1.nm_tty; - dev1->si_drv1 = pt; - - dev2->si_tty = pt->part2.nm_tty; - dev2->si_drv1 = pt; -} - -/* - * Device opened from userland - */ -static int -nmdmopen(struct cdev *dev, int flag, int devtype, struct thread *td) -{ - struct tty *tp, *tp2; - int error; - struct nm_softc *pti; - struct softpart *sp; - - if (dev->si_drv1 == NULL) - nmdminit(dev); - pti = dev->si_drv1; - if (pti->pt_prison != td->td_ucred->cr_prison) - return (EBUSY); - - tp = dev->si_tty; - sp = tp->t_sc; - tp2 = sp->other->nm_tty; - - if ((tp->t_state & TS_ISOPEN) == 0) { - ttyinitmode(tp, 0, 0); - ttsetwater(tp); /* XXX ? */ - } else if (tp->t_state & TS_XCLUDE && - priv_check(td, PRIV_TTY_EXCLUSIVE)) { - return (EBUSY); - } - - error = ttyld_open(tp, dev); - return (error); +#endif } static int @@ -319,16 +238,15 @@ static int nmdmparam(struct tty *tp, struct termios *t) { - struct softpart *sp; + struct nmdmpart *np = tty_softc(tp); struct tty *tp2; int bpc, rate, speed, i; - sp = tp->t_sc; - tp2 = sp->other->nm_tty; + tp2 = np->np_other->np_tty; if (!((t->c_cflag | tp2->t_cflag) & CDSR_OFLOW)) { - sp->rate = 0; - sp->other->rate = 0; + np->np_rate = 0; + np->np_other->np_rate = 0; return (0); } @@ -345,8 +263,8 @@ /* Use the slower of our receive and their transmit rate */ speed = imin(tp2->t_ospeed, t->c_ispeed); if (speed == 0) { - sp->rate = 0; - sp->other->rate = 0; + np->np_rate = 0; + np->np_other->np_rate = 0; return (0); } @@ -359,28 +277,29 @@ speed *= rate; speed /= hz; /* [(char/sec)/tick, scaled */ - sp->credits = speed; - sp->rate = rate; - callout_reset(&sp->co, rate, nmdm_timeout, sp); + np->np_credits = speed; + np->np_rate = rate; + callout_reset(&np->np_callout, rate, nmdm_timeout, np); /* * swap pointers for second pass so the other end gets * updated as well. */ - sp = sp->other; + np = np->np_other; t = &tp2->t_termios; tp2 = tp; } return (0); } +#if 0 static int nmdmmodem(struct tty *tp, int sigon, int sigoff) { struct softpart *sp; int i; - sp = tp->t_sc; + sp = tty_softc(tp); if (sigon || sigoff) { if (sigon & SER_DTR) sp->other->nm_dcd = 1; @@ -397,35 +316,15 @@ return (i); } } - -static int -nmdmclose(struct cdev *dev, int flag, int mode, struct thread *td) -{ - struct tty *tp = dev->si_tty; - int error; - - error = ttyld_close(tp, flag); - (void) tty_close(dev->si_tty); +#endif - return (error); -} - static void -nmdmoproc(struct tty *tp) +nmdm_outwakeup(struct tty *tp) { - struct softpart *pt; + struct nmdmpart *np = tty_softc(tp); - pt = tp->t_sc; - taskqueue_enqueue(taskqueue_swi_giant, &pt->pt_task); -} - -static void -nmdmstop(struct tty *tp, int flush) -{ - struct softpart *pt; - - pt = tp->t_sc; - taskqueue_enqueue(taskqueue_swi_giant, &pt->pt_task); + np = tty_softc(tp); + taskqueue_enqueue(taskqueue_swi, &np->np_task); } /* @@ -435,32 +334,27 @@ nmdm_modevent(module_t mod, int type, void *data) { static eventhandler_tag tag; - struct nm_softc *pt, *tpt; - int error = 0; switch(type) { case MOD_LOAD: - clone_setup(&nmdmclones); tag = EVENTHANDLER_REGISTER(dev_clone, nmdm_clone, 0, 1000); if (tag == NULL) return (ENOMEM); break; case MOD_SHUTDOWN: - /* FALLTHROUGH */ + break; + case MOD_UNLOAD: EVENTHANDLER_DEREGISTER(dev_clone, tag); - TAILQ_FOREACH_SAFE(pt, &nmdmhead, pt_list, tpt) { - destroy_dev(pt->part1.dev); - TAILQ_REMOVE(&nmdmhead, pt, pt_list); - free(pt, M_NLMDM); - } - clone_cleanup(&nmdmclones); + /* XXX: track counter! */ break; + default: - error = EOPNOTSUPP; + return (EOPNOTSUPP); } - return (error); + + return (0); } DEV_MODULE(nmdm, nmdm_modevent, NULL); From owner-p4-projects@FreeBSD.ORG Sun Aug 3 13:01:32 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 277D01065686; Sun, 3 Aug 2008 13:01:32 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DF0D31065680 for ; Sun, 3 Aug 2008 13:01:31 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CBBEC8FC0A for ; Sun, 3 Aug 2008 13:01:31 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m73D1V8S026336 for ; Sun, 3 Aug 2008 13:01:31 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m73D1VdE026334 for perforce@freebsd.org; Sun, 3 Aug 2008 13:01:31 GMT (envelope-from pgj@FreeBSD.org) Date: Sun, 3 Aug 2008 13:01:31 GMT Message-Id: <200808031301.m73D1VdE026334@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 146519 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, 03 Aug 2008 13:01:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=146519 Change 146519 by pgj@disznohal on 2008/08/03 13:00:45 Whitespace nits in www/hu Affected files ... .. //depot/projects/docproj_hu/www/hu/advocacy/index.sgml#7 edit .. //depot/projects/docproj_hu/www/hu/advocacy/myths.sgml#7 edit .. //depot/projects/docproj_hu/www/hu/community/irc.sgml#6 edit .. //depot/projects/docproj_hu/www/hu/community/mailinglists.sgml#9 edit .. //depot/projects/docproj_hu/www/hu/community/newsgroups.sgml#9 edit .. //depot/projects/docproj_hu/www/hu/community/webresources.sgml#6 edit .. //depot/projects/docproj_hu/www/hu/copyright/copyright.sgml#6 edit .. //depot/projects/docproj_hu/www/hu/developers/cvs.sgml#7 edit .. //depot/projects/docproj_hu/www/hu/docproj/doc-set.sgml#6 edit .. //depot/projects/docproj_hu/www/hu/docproj/docproj.sgml#6 edit .. //depot/projects/docproj_hu/www/hu/docproj/hungarian.sgml#5 edit .. //depot/projects/docproj_hu/www/hu/docproj/sgml.sgml#6 edit .. //depot/projects/docproj_hu/www/hu/docproj/submitting.sgml#5 edit .. //depot/projects/docproj_hu/www/hu/docproj/who.sgml#5 edit .. //depot/projects/docproj_hu/www/hu/docs/books.sgml#9 edit .. //depot/projects/docproj_hu/www/hu/docs/webresources.sgml#7 edit .. //depot/projects/docproj_hu/www/hu/news/news.sgml#7 edit .. //depot/projects/docproj_hu/www/hu/news/pressreleases.sgml#6 edit Differences ... ==== //depot/projects/docproj_hu/www/hu/advocacy/index.sgml#7 (text+ko) ==== ==== //depot/projects/docproj_hu/www/hu/advocacy/myths.sgml#7 (text+ko) ==== @@ -122,13 +122,13 @@ keresztül. Nem szükséges arra várni, hogy egy új kiadás jelenjen meg.

-

&os;, NetBSD: Egy telepíthetõ pillanat - verzió 24 óránként válik - elérhetõvé. Ezek a pillanatképek - teljesen ugyanúgy telepíthetõk mint a - közönséges kiadások, és a - telepítéshez nem szükséges egy - meglévõ rendszer.

+

&os;, NetBSD: Egy telepíthetõ + pillanatverzió 24 óránként + válik elérhetõvé. Ezek a + pillanatképek teljesen ugyanúgy + telepíthetõk mint a közönséges + kiadások, és a telepítéshez nem + szükséges egy meglévõ rendszer.

OpenBSD: OpenBSD pillanatképei naponta készülnek, és ha Theo elég ==== //depot/projects/docproj_hu/www/hu/community/irc.sgml#6 (text+ko) ==== @@ -18,7 +18,7 @@

Ugyan több IRC hálózaton létezik #freebsd csatorna, de a &os; Projekt nem felügyeli - ezeket és nem ismeri el az IRC-t, mint + ezeket és nem ismeri el az IRC-t mint támogatási formát. Könnyen elõfordulhat, hogy nem figyelnek ránk, inzultálnak minket vagy kirúgnak a @@ -34,8 +34,8 @@ nem foglalkozik az ezzel kapcsolatos panaszokkal. Ha többet szeretnénk errõl megtudni, akkor tekintsünk meg az erre vonatkozó GYIK bejegyzést - .

+ href="&base;/doc/en/books/faq/support.html#IRC">GYIK bejegyzést. +

&footer; ==== //depot/projects/docproj_hu/www/hu/community/mailinglists.sgml#9 (text+ko) ==== @@ -30,15 +30,15 @@ href="http://www.FreeBSD.org/mail/">böngészhetünk a levelezési listák archívumában. Ehhez a Mailman nyújt webes felületet - .

+ href="http://lists.FreeBSD.org/mailman/listinfo">webes felületet. +

Angol nyelvû levelezési listák

Az angol nyelvû levelezési listákat a &os; kézikönyvben soroltuk fel - .

+ href="&enbase;/doc/hu/books/handbook/eresources.html#ERESOURCES-MAIL">soroltuk fel. +

Nem angol nyelvû levelezési listák

@@ -51,18 +51,22 @@ vagy WWW.
  • Csehusers-l-request@FreeBSD.cz - vagy WWW.
  • + href="mailto:users-l-request@FreeBSD.cz">users-l-request@FreeBSD.cz + vagy WWW. +
  • Francialistserver@FreeBSD-fr.org vagy WWW.
  • Hollandmajordomo@nl.FreeBSD.org.
  • + href="mailto:majordomo@nl.FreeBSD.org">majordomo@nl.FreeBSD.org. +
  • Indonézid-freebsd-subscribe@egroups.com
  • + href="mailto:id-freebsd-subscribe@egroups.com">id-freebsd-subscribe@egroups.com. +
  • Japánmajordomo@jp.FreeBSD.org @@ -75,23 +79,28 @@
  • Koreaimajordomo@kr.FreeBSD.org vagy WWW.
  • + href="http://www.kr.FreeBSD.org/support.shtml#mailing-list">WWW. +
  • Lengyelmajordomo@bsdguru.org - vagy WWW.
  • + vagy WWW. +
  • Lettbsd-owner@lists.bsd.lv vagy WWW.
  • MagyarWWW
  • + href="http://www.hu.FreeBSD.org/hu/mailman/listinfo/bsd">WWW. +
  • NémetAdminisztráció vagy Keresés.
  • + href="http://univ.dyndns.org/freebsd/search-de/">Keresés. +
  • Norvégbsd@nobug.no @@ -102,33 +111,38 @@ vagy WWW.
  • Oroszmaillist@opennet.ru
  • + href="mailto:maillist@opennet.ru">maillist@opennet.ru. +
  • Portugálfreebsd@npf.pt.freebsd.org vagy WWW.
  • + href="http://npf.pt.freebsd.org/mailman/listinfo/freebsd">WWW. +
  • SpanyolWWW.
  • + href="https://listas.es.FreeBSD.org/mailman/listinfo">WWW. +
  • Szlovákmajordomo@sk.FreeBSD.org
  • + href="mailto:majordomo@sk.FreeBSD.org">majordomo@sk.FreeBSD.org. +
  • Svédbus@stacken.kth.se vagy WWW.
  • + href="https://lists.stacken.kth.se/mailman/listinfo/bus">WWW. +
  • Törökfreebsd@lists.enderunix.org - vagy WWW.
  • + vagy WWW.

    Ha létrehoz egy újabb &os; levelezési listát, kérjük tudassa velünk!

    + href="&base;/mailto.html">kérjük tudassa velünk! +

    &footer; ==== //depot/projects/docproj_hu/www/hu/community/newsgroups.sgml#9 (text+ko) ==== @@ -28,7 +28,7 @@ megbeszéléseket a comp.unix.bsd.freebsd.misc hírcsoportban találjuk. A fontos - bejelentéset lásd a comp.unix.bsd.freebsd.announce hírcsoportban.

    ==== //depot/projects/docproj_hu/www/hu/community/webresources.sgml#6 (text+ko) ==== @@ -39,8 +39,8 @@

    A CVS web felület tükrözései az - alábbi helyeken is elérhetõek: - Amerikai Egyesült Államok, Kalifornia - Japán, - Kanada, + alábbi helyeken is elérhetõek: Amerikai Egyesült Államok, Kalifornia + Japán, + Kanada, Portugália és Ukrajna.

    + href="http://www.FreeBSD.org.ua/cgi/cvsweb.cgi?cvsroot=freebsd">Ukrajna. +

    -&footer; + &footer; ==== //depot/projects/docproj_hu/www/hu/docproj/doc-set.sgml#6 (text+ko) ==== @@ -14,49 +14,57 @@ - &header; + &header;

    A &os; dokumentációja három fõ kategóriára osztható:

      -
    1. A man oldalak

      +
    2. +

      A man oldalak +

      -

      A projekt ezzel nem igazán foglalkozik, mert ez az - alaprendszer részét képezi. Kivételt - képez ez alól a japán csapat, õk - lefordítják ezeket az oldalakat is. Nincs - akadálya azonban, hogy mások is így - tegyenek.

      +

      A projekt ezzel nem igazán foglalkozik, mert ez az + alaprendszer részét képezi. + Kivételt képez ez alól a japán + csapat, õk lefordítják ezeket az oldalakat + is. Nincs akadálya azonban, hogy mások is + így tegyenek.

      -

      Nem arról van szó, hogy a man oldalak nem fontosak, - egyáltalán nem! Egyszerûen csak annyira - kötõdnek a &os; néhány - részéhez, hogy a legtöbb esetben a - legalkalmasabb ember, aki lefordíthatná ezeket az, - aki a &os; azon részét írta.

    3. +

      Nem arról van szó, hogy a man oldalak nem + fontosak, egyáltalán nem! Egyszerûen csak + annyira kötõdnek a &os; néhány + részéhez, hogy a legtöbb esetben a + legalkalmasabb ember, aki lefordíthatná ezeket + az, aki a &os; azon részét írta.

      + -
    4. -

      Könyvek

      +
    5. +

      Könyvek +

      -

      A projekt sok olyan dokumentációval rendelkezik, - melyek már könyv terjedelmûek, vagy azok - lesznek. Ezek közé tartozik a &os; GYIK és a - &os; kézikönyv.

      +

      A projekt sok olyan dokumentációval + rendelkezik, melyek már könyv + terjedelmûek, vagy azok lesznek. Ezek + közé tartozik a &os; GYIK és a &os; + kézikönyv.

      +
    6. -
    7. -

      Cikkek

      +
    8. +

      Cikkek +

      -

      A &os;-t érintõ hatalmas - információmennyiség érhetõ el - rövidebb cikkek formájában, hasonlóan - más projektek oktatóanyagaihoz vagy HOGYAN - leírásaihoz.

      +

      A &os;-t érintõ hatalmas + információmennyiség érhetõ el + rövidebb cikkek formájában, + hasonlóan más projektek oktatóanyagaihoz + vagy HOGYAN leírásaihoz.

      +
    - A &os; Dokumentációs Projekt kezdõlapja ==== //depot/projects/docproj_hu/www/hu/docproj/docproj.sgml#6 (text+ko) ==== @@ -13,7 +13,7 @@ -&header; + &header;

    Áttekintés

    @@ -42,54 +42,61 @@ kétféleképpen:

      -
    1. A Dokumentációs Projekt tagjai - dokumentációkat írnak és tesznek - elérhetõvé a &os; - dokumentációs készletének - részeként.

    2. +
    3. +

      A Dokumentációs Projekt tagjai + dokumentációkat írnak és tesznek + elérhetõvé a &os; + dokumentációs készletének + részeként.

      +
    4. -
    5. A Dokumentációs Projekt tagjai - megvitatják és rendszerezik a &os; - dokumentációs készletének - megjelenését és - összeállítását.

    6. +
    7. +

      A Dokumentációs Projekt tagjai + megvitatják és rendszerezik a &os; + dokumentációs készletének + megjelenését és + összeállítását.

      +
    - - + - +

    A dokumentáció részét + képezõ több projekt is jelenleg + folyamatban van. Amennyiben idõnk engedi, + nézzük át ezt a listát, + hátha mi magunk is tudunk valamiben + segíteni!

    + +
    -

    Jelenlegi - feladatok

    +
    +

    Jelenlegi feladatok +

    -

    A dokumentáció részét - képezõ több projekt is jelenleg - folyamatban van. Amennyiben idõnk engedi, - nézzük át ezt a listát, - hátha mi magunk is tudunk valamiben - segíteni!

    -

    Kik vagyunk és hogyan lehet hozzánk csatlakozni?

    + href="who.html">Kik vagyunk és hogyan lehet hozzánk csatlakozni? +

    Az oldal bemutatja a Dokumentációs Projekt szerkesztõit, és leírja hogyan csatlakozhatunk hozzájuk.

    A &os; dokumentációja

    + href="doc-set.html">A &os; dokumentációja +

    A &os; dokumentáció elemeinek és a Dokumentációs Projekt ezen részeken végzett munkájának leírása.

    Az SGML és a Dokumentációs Projekt

    + href="sgml.html">Az SGML és a Dokumentációs Projekt +

    A projekt az SGML nyelvet használja a dokumentációhoz. Ezt mutatja be ez az oldal, @@ -97,7 +104,8 @@ ismeretek felé kalauzolja.

    Dokumentáció beküldése

    + href="submitting.html">Dokumentáció beküldése +

    A dokumentáció beküldése a legjobb módja annak, hogy segítsük a &os; @@ -108,12 +116,12 @@ pillantást.

    Fordítások

    + href="&enbase;/docproj/translations.html">Fordítások +

    A &os; dokumentációjának fordításai, honlapok, a kézikönyv, man oldalak és a GYIK.

    - &footer; - + &footer; ==== //depot/projects/docproj_hu/www/hu/docproj/hungarian.sgml#5 (text+ko) ==== @@ -10,7 +10,7 @@ Written by: Gabor Kovesdan --> - &header; + &header;

    A Projekt célja

    @@ -41,15 +41,13 @@ kezdõknek címû könyv tartalmi és formai elõírásait.

    -

    Kapcsolat

    Kövesdán Gábor <gabor@FreeBSD.org>

    + href="mailto:gabor@FreeBSD.org">gabor@FreeBSD.org>

    Páli Gábor <pgj@FreeBSD.org>

    + href="mailto:pgj@FreeBSD.org">pgj@FreeBSD.org>

    - &footer; - + &footer; ==== //depot/projects/docproj_hu/www/hu/docproj/sgml.sgml#6 (text+ko) ==== @@ -12,7 +12,7 @@ --> - &header; + &header;

    A dokumentációs munkákhoz a Dokumentációs Projekt az SGML nyelvet @@ -211,36 +211,39 @@

    http://www.oasis-open.org/cover/sgml-xml.html -
    + href="http://www.oasis-open.org/cover/sgml-xml.html">http://www.oasis-open.org/cover/sgml-xml.html + -

    Az SGML/XML honlapja. Számtalan hivatkozás - szól az SGML nyelvrõl.

    +
    +

    Az SGML/XML honlapja. Számtalan hivatkozás + szól az SGML nyelvrõl.

    +
    http://www-sul.stanford.edu/tools/tutorials/html2.0/gentle.html -
    + href="http://www-sul.stanford.edu/tools/tutorials/html2.0/gentle.html">http://www-sul.stanford.edu/tools/tutorials/html2.0/gentle.html + -

    "Gentle Introduction to SGML". Ajánlott - olvasmány mindenkinek, aki az SGML nyelvvel a kezdõk - szemszögébõl nézve szeretne - közelebbrõl megismerkedni.

    +
    +

    "Gentle Introduction to SGML". Ajánlott + olvasmány mindenkinek, aki az SGML nyelvvel a + kezdõk szemszögébõl nézve + szeretne közelebbrõl megismerkedni.

    http://www.oasis-open.org/docbook/ -
    + href="http://www.oasis-open.org/docbook/">http://www.oasis-open.org/docbook/ + -

    A DocBook DTD-t az OASIS tartja karban. Ezek az oldalak - azoknak szólnak, akik az SGML nyelvet már - elsajátították és a DocBook nyelvet - is tanulmányoznák.

    +
    +

    A DocBook DTD-t az OASIS tartja karban. Ezek az oldalak + azoknak szólnak, akik az SGML nyelvet már + elsajátították és a DocBook + nyelvet is tanulmányoznák.

    - A &os; Dokumentációs Projekt kezdõlapja + A &os; Dokumentációs Projekt kezdõlapja -&footer; - + &footer; ==== //depot/projects/docproj_hu/www/hu/docproj/submitting.sgml#5 (text+ko) ==== @@ -14,7 +14,7 @@ --> - &header; + &header;

    Hogyan lehet beküldeni dokumentációt?

    @@ -206,6 +206,5 @@ A &os; Dokumentációs Projekt kezdõlap - &footer; - + &footer; ==== //depot/projects/docproj_hu/www/hu/docproj/who.sgml#5 (text+ko) ==== @@ -14,7 +14,7 @@ --> - &header; + &header;

    A projekt néhány ember laza csoportja, akikben csupán az a közös, hogy feliratkoztak a

    A &os; Dokumentációs Projekt kezdõlapja

    + href="docproj.html">A &os; Dokumentációs Projekt kezdõlapja +

    A Magyar &os; Dokumentációs Projekt kezdõlapja

    + href="hungarian.html">A Magyar &os; Dokumentációs Projekt kezdõlapja +

    - &footer; - + &footer; ==== //depot/projects/docproj_hu/www/hu/docs/books.sgml#9 (text+ko) ==== @@ -6,10 +6,10 @@ cikkek"> - - - - + + + + ]> - &header; -

    Ezen az oldalon

    +

    Ezen az oldalon

    -

    Minden itt található dokumentum - letölthetõ több különbözõ - formátumban (HTML, PostScript, PDF, stb), akár - tömörítve (bzip2, zip) a &os; FTP oldaláról.

    +

    Minden itt található dokumentum + letölthetõ több különbözõ + formátumban (HTML, PostScript, PDF, stb), akár + tömörítve (bzip2, zip) a &os; FTP oldaláról. +

    -

    A &os; dokumentáció archivált - másolatai (cikkek, könyvek és textinfo - dokumentumok) szintén elérhetõek a http://docs.FreeBSD.org/doc/ - címen.

    +

    A &os; dokumentáció archivált + másolatai (cikkek, könyvek és textinfo + dokumentumok) szintén elérhetõek a http://docs.FreeBSD.org/doc/ + címen.

    -

    Ezeket a dokumentumokat a &os; Dokumentációs Projekt - készíti és tartja karban, de mindig - szükségünk van új emberekre új - dokumentációk írásához - és a meglévõek - karbantartásához.

    +

    Ezeket a dokumentumokat a &os; Dokumentációs Projekt + készíti és tartja karban, de mindig + szükségünk van új emberekre új + dokumentációk írásához + és a meglévõek + karbantartásához.

    -

    Könyvek

    +

    Könyvek

    -

    A &os; Projekt modellje - (dev-model)
    Egy tanulmány a &os; Projekt szervezeti - felépítésérõl.

    +

    A &os; Projekt modellje + (dev-model)
    + Egy tanulmány a &os; Projekt szervezeti + felépítésérõl.

    -

    A FreeBSD GYIK - (faq)
    Gyakran Ismételt Kérdések és - a a rájuk adott válaszok minden — a &os;-t - érintõ — témáról.

    +

    A FreeBSD GYIK + (faq)
    + Gyakran Ismételt Kérdések és a a + rájuk adott válaszok minden — a &os;-t + érintõ — témáról.

    -

    A &os; kézikönyv - (handbook)
    Egy folyamatosan fejlõdõ, - átfogó információforrás &os; - felhasználóknak.

    +

    A &os; kézikönyv + (handbook)
    + Egy folyamatosan fejlõdõ, átfogó + információforrás &os; + felhasználóknak.

    -

    A &os; fejlesztõk kézikönyve - (developers-handbook)
    Azoknak, akik a &os;-hez akarnak - szoftvereket fejleszteni (nem csak azoknak, akik magát a - rendszert fejlesztik).

    +

    A &os; fejlesztõk kézikönyve + (developers-handbook)
    + Azoknak, akik a &os;-hez akarnak szoftvereket fejleszteni (nem + csak azoknak, akik magát a rendszert fejlesztik).

    -

    A &os; architektúra kézikönyv - (arch-handbook)
    &os; rendszerfejlesztõknek. Ez a - könyv részletesen tárgyalja sok fontos - rendszermagbeli alrendszer architekturális - felépítését.

    +

    A &os; architektúra kézikönyv + (arch-handbook)
    + &os; rendszerfejlesztõknek. Ez a könyv + részletesen tárgyalja sok fontos rendszermagbeli + alrendszer architekturális + felépítését.

    -

    A porterek kézikönyve - (porters-handbook)
    Alapvetõ olvasmány, ha - külsõ szoftvert szeretnénk &os;-re - portolni.

    +

    A porterek kézikönyve + (porters-handbook)
    + Alapvetõ olvasmány, ha külsõ szoftvert + szeretnénk &os;-re portolni.

    -

    A PMake kézikönyv - (pmake)
    Kézikönyv a make - segédprogramhoz. Alapvetõ olvasmány - mindenkinek, aki részleteiben is meg szeretné - érteni a make használatát, a - Makefile állományok olvasását - és írását.

    +

    A PMake kézikönyv + (pmake)
    + Kézikönyv a make segédprogramhoz. + Alapvetõ olvasmány mindenkinek, aki + részleteiben is meg szeretné érteni a + make használatát, a Makefile + állományok olvasását és + írását.

    -

    A 4.4BSD operációs rendszer tervezése és implementációja, 2. fejezet - (design-44bsd)
    Az Addison-Wesley Kiadó - adománya, a 4.4BSD operációs rendszer - technikai megvalósítását mutatja be. - A &os; ennek az alapjaira épül.

    +

    A 4.4BSD operációs rendszer tervezése és implementációja, 2. fejezet + (design-44bsd)
    + Az Addison-Wesley Kiadó adománya, a 4.4BSD + operációs rendszer technikai + megvalósítását mutatja be. A &os; + ennek az alapjaira épül.

    -

    Vállalati &os; rendszergazdák útmutatója, 8. fejezet - (corp-net-guide)
    Az Addison-Wesley Kiadó - adománya, amely mélyreható - áttekintést nyújt arról, hogyan - üzemeltessünk nyomtatási - szolgáltatásokat a &os; - segítségével Windows NT és Novell - kliensek számára.

    +

    Vállalati &os; rendszergazdák útmutatója, 8. fejezet + (corp-net-guide)
    + Az Addison-Wesley Kiadó adománya, amely + mélyreható áttekintést nyújt + arról, hogyan üzemeltessünk nyomtatási + szolgáltatásokat a &os; + segítségével Windows NT és Novell + kliensek számára.

    -

    A &os; Dokumentációs Projekt irányelvei kezdõknek - (fdp-primer)
    Minden, amit ahhoz kell tudnunk, hogy a &os; - Dokumentációs Projektben dolgozhassunk.

    +

    A &os; Dokumentációs Projekt irányelvei kezdõknek + (fdp-primer)
    + Minden, amit ahhoz kell tudnunk, hogy a &os; + Dokumentációs Projektben dolgozhassunk.

    -

    Cikkek

    +

    Cikkek

    - + -

    Miért érdemes BSD licencet használni nyílt forrású alkalmazások fejlesztésekor? - (bsdl-gpl)
    - Leírja, milyen elõnyökkel jár a - forráskód kiadása a BSD licenc alatt.

    +

    Miért érdemes BSD licencet használni nyílt forrású alkalmazások fejlesztésekor? + (bsdl-gpl)
    + Leírja, milyen elõnyökkel jár a + forráskód kiadása a BSD licenc alatt.

    -

    Fejlesztés &os;-vel - (building-products)
    - Hogyan segíthet a &os; jobb alkalmazásokat - fejleszteni.

    +

    Fejlesztés &os;-vel + (building-products)
    + Hogyan segíthet a &os; jobb alkalmazásokat + fejleszteni.

    -

    Argentina.com: Egy esettanulmány - (casestudy-argentina.com)
    - Hogyan segített a &os; egy nagy latin-amerikai - internetszolgáltatónak.

    +

    Argentina.com: Egy esettanulmány + (casestudy-argentina.com)
    + Hogyan segített a &os; egy nagy latin-amerikai + internetszolgáltatónak.

    -

    A Checkpoint VPN-1/Firewall-1 és a &os; IPSec integrációja - (checkpoint)
    - Hogyan konfiguráljunk Checkpoint VPN-1/Firewall-1-et a - &os; IPSec implementációjával - együtt.

    +

    A Checkpoint VPN-1/Firewall-1 és a &os; IPSec integrációja + (checkpoint)
    + Hogyan konfiguráljunk Checkpoint VPN-1/Firewall-1-et a &os; + IPSec implementációjával együtt.

    -

    A committerek útmutatója - (committers-guide)
    - Fontos bevezetõ a commit jogot nyert &os; - fejlesztõknek a munkájuk - megkezdéséhez.

    +

    A committerek útmutatója + (committers-guide)
    + Fontos bevezetõ a commit jogot nyert &os; fejlesztõknek + a munkájuk megkezdéséhez.

    -

    A Compiz Fusion telepítése és használata - (compiz-fusion)
    - Hogyan telepítsük és használjuk a - Compiz Fusion kompozit ablakkezelõt &os; alatt.

    +

    A Compiz Fusion telepítése és használata + (compiz-fusion)
    + Hogyan telepítsük és használjuk a + Compiz Fusion kompozit ablakkezelõt &os; alatt.

    -

    Konzol szerver Hogyan - (console-server)
    - Hogyan állítsunk be egy &os; alapú konzol - szervert egy olcsó soros vonali - vezérlõkártya - segítségével.

    +

    Konzol szerver Hogyan + (console-server)
    + Hogyan állítsunk be egy &os; alapú konzol + szervert egy olcsó soros vonali + vezérlõkártya + segítségével.

    -

    Hozzájárulás a &os; Projekthez - (contributing)
    - Hogyan segítsük munkánkkal a &os; Projekt - fejlõdésében.

    +

    Hozzájárulás a &os; Projekthez + (contributing)
    + Hogyan segítsük munkánkkal a &os; Projekt + fejlõdésében.

    -

    Hozzájárulás a &os; Portgyûjteményéhez - (contributing-ports)
    - Hogyan segítsünk a &os; - Portgyûjteményének - karbantartásában.

    +

    Hozzájárulás a &os; Portgyûjteményéhez + (contributing-ports)
    >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Aug 3 14:02:40 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4B2DF1065680; Sun, 3 Aug 2008 14:02:40 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EA797106567A for ; Sun, 3 Aug 2008 14:02:39 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D09958FC1A for ; Sun, 3 Aug 2008 14:02:39 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m73E2dfI032257 for ; Sun, 3 Aug 2008 14:02:39 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m73E2dAI032255 for perforce@freebsd.org; Sun, 3 Aug 2008 14:02:39 GMT (envelope-from gabor@freebsd.org) Date: Sun, 3 Aug 2008 14:02:39 GMT Message-Id: <200808031402.m73E2dAI032255@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 146523 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, 03 Aug 2008 14:02:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=146523 Change 146523 by gabor@gabor_server on 2008/08/03 14:02:14 - Don't implement features as noop, it is not a good idea. Prodded by: kris Affected files ... .. //depot/projects/soc2008/gabor_textproc/diff/diff.c#16 edit Differences ... ==== //depot/projects/soc2008/gabor_textproc/diff/diff.c#16 (text+ko) ==== @@ -66,7 +66,7 @@ NOOP_OPT }; -#define OPTIONS "0123456789abC:cdD:eF:fhI:iL:lnNPpqrS:sTtU:uvwW:X:x:y" +#define OPTIONS "0123456789abC:cdD:efhI:iL:lnNPpqrS:sTtU:uvwX:x:" static struct option longopts[] = { { "ignore-file-name-case", no_argument, NULL, FCASE_IGNORE_OPT }, { "no-ignore-file-name-case", no_argument, NULL, FCASE_SENSITIVE_OPT }, @@ -109,13 +109,15 @@ { "ignore-all-space", no_argument, NULL, 'w' }, { "exclude-from", required_argument, NULL, 'X' }, { "exclude", required_argument, NULL, 'x' }, -/* Compatibility options, which are noop. We only pretend to support them. */ + { "speed-large-files", no_argument, NULL, NOOP_OPT }, +/* XXX: the following are not very well documented and rarely used. If we need + them at all, we will need to dig into the code to see what do they do + actually. { "horizon-lines", required_argument, NULL, NOOP_OPT }, { "left-column", no_argument, NULL, NOOP_OPT }, { "line-format", required_argument, NULL, NOOP_OPT }, { "show-function-line", required_argument, NULL, 'F' }, { "side-by-side", no_argument, NULL, 'y' }, - { "speed-large-files", no_argument, NULL, NOOP_OPT }, { "suppress-common-lines", no_argument, NULL, NOOP_OPT }, { "width", optional_argument, NULL, 'W' }, { "unchanged-group-format", required_argument, NULL, NOOP_OPT }, @@ -124,7 +126,8 @@ { "changed-group-format", required_argument, NULL, NOOP_OPT }, { "unchanged-line-format", required_argument, NULL, NOOP_OPT }, { "old-line-format", required_argument, NULL, NOOP_OPT }, - { "new-line-format", required_argument, NULL, NOOP_OPT }, + { "new-line-format", required_argument, NULL, NOOP_OPT }, +*/ { NULL, 0, NULL, '\0'} }; From owner-p4-projects@FreeBSD.ORG Sun Aug 3 14:03:41 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 90AF21065672; Sun, 3 Aug 2008 14:03:41 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 14FEC106564A for ; Sun, 3 Aug 2008 14:03:41 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 046C38FC14 for ; Sun, 3 Aug 2008 14:03:41 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m73E3ern033445 for ; Sun, 3 Aug 2008 14:03:40 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m73E3ehB033443 for perforce@freebsd.org; Sun, 3 Aug 2008 14:03:40 GMT (envelope-from gabor@freebsd.org) Date: Sun, 3 Aug 2008 14:03:40 GMT Message-Id: <200808031403.m73E3ehB033443@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 146524 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, 03 Aug 2008 14:03:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=146524 Change 146524 by gabor@gabor_server on 2008/08/03 14:02:45 IFC Affected files ... .. //depot/projects/soc2008/gabor_textproc/src/usr.bin/grep/file.c#4 integrate Differences ... ==== //depot/projects/soc2008/gabor_textproc/src/usr.bin/grep/file.c#4 (text+ko) ==== @@ -128,7 +128,7 @@ if (binbufptr == NULL) { /* Only pre-read to the buffer if we need the binary check. */ if (binbehave != BINFILE_TEXT) { - for (; (i < (BUFSIZ * sizeof(wint_t))) && !grep_feof(f); i++) { + for (; i < sizeof(wbinbuf) && !grep_feof(f); i++) { ch = grep_fgetc(f); binbuf[i] = ch; } @@ -137,7 +137,7 @@ /* Convert at most (BUFSIZ * sizeof(wint_t)) characters or (BUFSIZ - 1) bytes to wide character string. */ - size = mbsnrtowcs(wbinbuf, &src, BUFSIZ * sizeof(wint_t), BUFSIZ - 1, &mbs); + size = mbsnrtowcs(wbinbuf, &src, sizeof(wbinbuf), BUFSIZ - 1, &mbs); f->binary = 0; for (; size > 0; size--) if (iswbinary(wbinbuf[size])) { From owner-p4-projects@FreeBSD.ORG Sun Aug 3 15:25:04 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4C6851065676; Sun, 3 Aug 2008 15:25:04 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0F9F11065671 for ; Sun, 3 Aug 2008 15:25:04 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F18688FC17 for ; Sun, 3 Aug 2008 15:25:03 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m73FP3mk041939 for ; Sun, 3 Aug 2008 15:25:03 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m73FP3aw041937 for perforce@freebsd.org; Sun, 3 Aug 2008 15:25:03 GMT (envelope-from trasz@freebsd.org) Date: Sun, 3 Aug 2008 15:25:03 GMT Message-Id: <200808031525.m73FP3aw041937@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 146530 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, 03 Aug 2008 15:25:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=146530 Change 146530 by trasz@trasz_traszkan on 2008/08/03 15:24:04 Change a_mode argument to VOP_ACCESS from int into vaccess_t. There should be no functional change. It should also be backwards binary compatible. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c#2 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#5 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/cd9660/cd9660_vnops.c#3 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/coda/coda_vnops.c#2 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/hpfs/hpfs_vnops.c#2 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/msdosfs/msdosfs_vnops.c#3 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/ntfs/ntfs_vnops.c#2 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nullfs/null_vnops.c#2 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nwfs/nwfs_vnops.c#2 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/smbfs/smbfs_vnops.c#2 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/tmpfs/tmpfs_vnops.c#2 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/udf/udf_vnops.c#3 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/unionfs/union_vnops.c#2 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/gnu/fs/ext2fs/ext2_vnops.c#2 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/gnu/fs/reiserfs/reiserfs_vnops.c#2 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/gnu/fs/xfs/FreeBSD/xfs_vnops.c#2 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_acl_nfs4.c#13 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_acl_posix1e.c#6 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/uipc_mqueue.c#2 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_subr.c#7 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vnode_if.src#5 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs_vnops.c#3 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/vnode.h#6 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ufs/ufs_vnops.c#7 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c#2 (text+ko) ==== @@ -235,12 +235,12 @@ zfsctl_common_access(ap) struct vop_access_args /* { struct vnode *a_vp; - int a_mode; + vaccess_t a_mode; struct ucred *a_cred; struct thread *a_td; } */ *ap; { - int mode = ap->a_mode; + vaccess_t mode = ap->a_mode; if (mode & VWRITE) return (EACCES); ==== //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#5 (text+ko) ==== @@ -3205,7 +3205,7 @@ zfs_freebsd_access(ap) struct vop_access_args /* { struct vnode *a_vp; - int a_mode; + vaccess_t a_mode; struct ucred *a_cred; struct thread *a_td; } */ *ap; ==== //depot/projects/soc2008/trasz_nfs4acl/sys/fs/cd9660/cd9660_vnops.c#3 (text+ko) ==== @@ -126,14 +126,14 @@ cd9660_access(ap) struct vop_access_args /* { struct vnode *a_vp; - int a_mode; + vaccess_t a_mode; struct ucred *a_cred; struct thread *a_td; } */ *ap; { struct vnode *vp = ap->a_vp; struct iso_node *ip = VTOI(vp); - mode_t mode = ap->a_mode; + vaccess_t mode = ap->a_mode; if (vp->v_type == VCHR || vp->v_type == VBLK) return (EOPNOTSUPP); ==== //depot/projects/soc2008/trasz_nfs4acl/sys/fs/coda/coda_vnops.c#2 (text+ko) ==== @@ -609,7 +609,7 @@ /* true args */ struct vnode *vp = ap->a_vp; struct cnode *cp = VTOC(vp); - int mode = ap->a_mode; + vaccess_t mode = ap->a_mode; struct ucred *cred = ap->a_cred; struct thread *td = ap->a_td; /* locals */ ==== //depot/projects/soc2008/trasz_nfs4acl/sys/fs/hpfs/hpfs_vnops.c#2 (text+ko) ==== @@ -685,14 +685,14 @@ hpfs_access(ap) struct vop_access_args /* { struct vnode *a_vp; - int a_mode; + vaccess_t a_mode; struct ucred *a_cred; struct thread *a_td; } */ *ap; { struct vnode *vp = ap->a_vp; struct hpfsnode *hp = VTOHP(vp); - mode_t mode = ap->a_mode; + vaccess_t mode = ap->a_mode; dprintf(("hpfs_access(0x%x):\n", hp->h_no)); ==== //depot/projects/soc2008/trasz_nfs4acl/sys/fs/msdosfs/msdosfs_vnops.c#3 (text+ko) ==== @@ -249,7 +249,7 @@ msdosfs_access(ap) struct vop_access_args /* { struct vnode *a_vp; - int a_mode; + vaccess_t a_mode; struct ucred *a_cred; struct thread *a_td; } */ *ap; @@ -257,7 +257,8 @@ struct vnode *vp = ap->a_vp; struct denode *dep = VTODE(ap->a_vp); struct msdosfsmount *pmp = dep->de_pmp; - mode_t file_mode, mode = ap->a_mode; + mode_t file_mode; + vaccess_t mode = ap->a_mode; file_mode = (S_IXUSR|S_IXGRP|S_IXOTH) | (S_IRUSR|S_IRGRP|S_IROTH) | ((dep->de_Attributes & ATTR_READONLY) ? 0 : (S_IWUSR|S_IWGRP|S_IWOTH)); ==== //depot/projects/soc2008/trasz_nfs4acl/sys/fs/ntfs/ntfs_vnops.c#2 (text+ko) ==== @@ -386,14 +386,14 @@ ntfs_access(ap) struct vop_access_args /* { struct vnode *a_vp; - int a_mode; + vaccess_t a_mode; struct ucred *a_cred; struct thread *a_td; } */ *ap; { struct vnode *vp = ap->a_vp; struct ntnode *ip = VTONT(vp); - mode_t mode = ap->a_mode; + vaccess_t mode = ap->a_mode; #ifdef QUOTA int error; #endif ==== //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nullfs/null_vnops.c#2 (text+ko) ==== @@ -451,7 +451,7 @@ null_access(struct vop_access_args *ap) { struct vnode *vp = ap->a_vp; - mode_t mode = ap->a_mode; + vaccess_t mode = ap->a_mode; /* * Disallow write attempts on read-only layers; ==== //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nwfs/nwfs_vnops.c#2 (text+ko) ==== @@ -121,7 +121,7 @@ nwfs_access(ap) struct vop_access_args /* { struct vnode *a_vp; - int a_mode; + vaccess_t a_mode; struct ucred *a_cred; struct thread *td; } */ *ap; ==== //depot/projects/soc2008/trasz_nfs4acl/sys/fs/smbfs/smbfs_vnops.c#2 (text+ko) ==== @@ -123,13 +123,13 @@ smbfs_access(ap) struct vop_access_args /* { struct vnode *a_vp; - int a_mode; + vaccess_t a_mode; struct ucred *a_cred; struct thread *a_td; } */ *ap; { struct vnode *vp = ap->a_vp; - mode_t mode = ap->a_mode; + vaccess_t mode = ap->a_mode; mode_t mpmode; struct smbmount *smp = VTOSMBFS(vp); ==== //depot/projects/soc2008/trasz_nfs4acl/sys/fs/tmpfs/tmpfs_vnops.c#2 (text+ko) ==== @@ -289,7 +289,7 @@ tmpfs_access(struct vop_access_args *v) { struct vnode *vp = v->a_vp; - int mode = v->a_mode; + vaccess_t mode = v->a_mode; struct ucred *cred = v->a_cred; int error; ==== //depot/projects/soc2008/trasz_nfs4acl/sys/fs/udf/udf_vnops.c#3 (text+ko) ==== @@ -139,7 +139,8 @@ { struct vnode *vp; struct udf_node *node; - mode_t a_mode, mode; + vaccess_t a_mode; + mode_t mode; vp = a->a_vp; node = VTON(vp); ==== //depot/projects/soc2008/trasz_nfs4acl/sys/fs/unionfs/union_vnops.c#2 (text+ko) ==== @@ -645,7 +645,7 @@ struct vnode *lvp; struct thread *td; struct vattr va; - int mode; + vaccess_t mode; int error; UNIONFS_INTERNAL_DEBUG("unionfs_access: enter\n"); ==== //depot/projects/soc2008/trasz_nfs4acl/sys/gnu/fs/ext2fs/ext2_vnops.c#2 (text+ko) ==== @@ -289,14 +289,14 @@ ext2_access(ap) struct vop_access_args /* { struct vnode *a_vp; - int a_mode; + vaccess_t a_mode; struct ucred *a_cred; struct thread *a_td; } */ *ap; { struct vnode *vp = ap->a_vp; struct inode *ip = VTOI(vp); - mode_t mode = ap->a_mode; + vaccess_t mode = ap->a_mode; int error; if (vp->v_type == VBLK || vp->v_type == VCHR) ==== //depot/projects/soc2008/trasz_nfs4acl/sys/gnu/fs/reiserfs/reiserfs_vnops.c#2 (text+ko) ==== @@ -57,7 +57,7 @@ int error; struct vnode *vp = ap->a_vp; struct reiserfs_node *ip = VTOI(vp); - mode_t mode = ap->a_mode; + vaccess_t mode = ap->a_mode; /* * Disallow write attempts on read-only file systems; unless the file ==== //depot/projects/soc2008/trasz_nfs4acl/sys/gnu/fs/xfs/FreeBSD/xfs_vnops.c#2 (text+ko) ==== @@ -180,7 +180,7 @@ _xfs_access( struct vop_access_args /* { struct vnode *a_vp; - int a_mode; + vaccess_t a_mode; struct ucred *a_cred; struct thread *a_td; } */ *ap) ==== //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_acl_nfs4.c#13 (text+ko) ==== @@ -52,7 +52,7 @@ #ifdef _KERNEL static int -_access_mask_from_mode(mode_t mode) +_access_mask_from_mode(vaccess_t mode) { int access_mask = 0; @@ -149,10 +149,10 @@ int vaccess_acl_nfs4(enum vtype type, uid_t file_uid, gid_t file_gid, - struct acl *aclp, mode_t acc_mode, int needed_bits, struct ucred *cred, + struct acl *aclp, vaccess_t acc_mode, int needed_bits, struct ucred *cred, int *privused) { - mode_t priv_granted = 0; + vaccess_t priv_granted = 0; int denied, explicitly_denied, is_directory, must_be_owner = 0; if (privused != NULL) ==== //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_acl_posix1e.c#6 (text+ko) ==== @@ -53,12 +53,12 @@ */ int vaccess_acl_posix1e(enum vtype type, uid_t file_uid, gid_t file_gid, - struct acl *acl, mode_t acc_mode, struct ucred *cred, int *privused) + struct acl *acl, vaccess_t acc_mode, struct ucred *cred, int *privused) { struct acl_entry *acl_other, *acl_mask; - mode_t dac_granted; - mode_t priv_granted; - mode_t acl_mask_granted; + vaccess_t dac_granted; + vaccess_t priv_granted; + vaccess_t acl_mask_granted; int group_matched, i; /* ==== //depot/projects/soc2008/trasz_nfs4acl/sys/kern/uipc_mqueue.c#2 (text+ko) ==== @@ -1084,7 +1084,7 @@ struct vop_access_args { struct vop_generic_args a_gen; struct vnode *a_vp; - int a_mode; + vaccess_t a_mode; struct ucred *a_cred; struct thread *a_td; }; ==== //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_subr.c#7 (text+ko) ==== @@ -3443,10 +3443,10 @@ */ int vaccess(enum vtype type, mode_t file_mode, uid_t file_uid, gid_t file_gid, - mode_t acc_mode, struct ucred *cred, int *privused) + vaccess_t acc_mode, struct ucred *cred, int *privused) { - mode_t dac_granted; - mode_t priv_granted; + vaccess_t dac_granted; + vaccess_t priv_granted; /* * Look for a normal, non-privileged way to access the file/directory ==== //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vnode_if.src#5 (text+ko) ==== @@ -147,7 +147,7 @@ vop_access { IN struct vnode *vp; - IN int mode; + IN vaccess_t mode; IN struct ucred *cred; IN struct thread *td; }; @@ -157,7 +157,7 @@ vop_granular { IN struct vnode *vp; - IN int mode; + IN vaccess_t mode; IN int access_mask; IN struct ucred *cred; IN struct thread *td; ==== //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs_vnops.c#3 (text+ko) ==== @@ -3177,7 +3177,7 @@ struct vattr *vap; struct ucred *cred = ap->a_cred; struct vnode *vp = ap->a_vp; - mode_t mode = ap->a_mode; + vaccess_t mode = ap->a_mode; struct vattr vattr; int error; ==== //depot/projects/soc2008/trasz_nfs4acl/sys/sys/vnode.h#6 (text+ko) ==== @@ -307,6 +307,8 @@ #define IO_SEQMAX 0x7F /* seq heuristic max value */ #define IO_SEQSHIFT 16 /* seq heuristic in upper 16 bits */ +#define vaccess_t int + /* * Modes. Some values same as Ixxx entries from inode.h for now. */ @@ -587,13 +589,13 @@ char **retbuf, char **freebuf); int vn_commname(struct vnode *vn, char *buf, u_int buflen); int vaccess(enum vtype type, mode_t file_mode, uid_t file_uid, - gid_t file_gid, mode_t acc_mode, struct ucred *cred, + gid_t file_gid, vaccess_t acc_mode, struct ucred *cred, int *privused); int vaccess_acl_posix1e(enum vtype type, uid_t file_uid, - gid_t file_gid, struct acl *acl, mode_t acc_mode, + gid_t file_gid, struct acl *acl, vaccess_t acc_mode, struct ucred *cred, int *privused); int vaccess_acl_nfs4(enum vtype type, uid_t file_uid, - gid_t file_gid, struct acl *acl, mode_t acc_mode, + gid_t file_gid, struct acl *acl, vaccess_t acc_mode, int access_mask, struct ucred *cred, int *privused); void vattr_null(struct vattr *vap); int vcount(struct vnode *vp); ==== //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ufs/ufs_vnops.c#7 (text+ko) ==== @@ -302,15 +302,15 @@ ufs_granular(ap) struct vop_granular_args /* { struct vnode *a_vp; - int a_mode; - int a_access_mask; + vaccess_t a_mode; + int a_access_mask; struct ucred *a_cred; struct thread *a_td; } */ *ap; { struct vnode *vp = ap->a_vp; struct inode *ip = VTOI(vp); - mode_t mode = ap->a_mode; + vaccess_t mode = ap->a_mode; int error; #ifdef UFS_ACL struct acl *acl; @@ -388,7 +388,7 @@ ufs_access(ap) struct vop_access_args /* { struct vnode *a_vp; - int a_mode; + vaccess_t a_mode; struct ucred *a_cred; struct thread *a_td; } */ *ap; From owner-p4-projects@FreeBSD.ORG Sun Aug 3 15:52:32 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A7CA51065677; Sun, 3 Aug 2008 15:52:32 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6B1F8106564A for ; Sun, 3 Aug 2008 15:52:32 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5996F8FC08 for ; Sun, 3 Aug 2008 15:52:32 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m73FqWVs044179 for ; Sun, 3 Aug 2008 15:52:32 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m73FqVUI044177 for perforce@freebsd.org; Sun, 3 Aug 2008 15:52:31 GMT (envelope-from pgj@FreeBSD.org) Date: Sun, 3 Aug 2008 15:52:31 GMT Message-Id: <200808031552.m73FqVUI044177@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 146533 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, 03 Aug 2008 15:52:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=146533 Change 146533 by pgj@disznohal on 2008/08/03 15:51:38 MFen: 1.900 -> 1.950 hu_HU.ISO8859-2/books/faq/book.sgml Affected files ... .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/faq/book.sgml#5 edit Differences ... ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/faq/book.sgml#5 (text+ko) ==== @@ -7,7 +7,7 @@ @@ -18,7 +18,7 @@ A &os; Dokumentációs Projekt - $FreeBSD: doc/en_US.ISO8859-1/books/faq/book.sgml,v 1.900 2008/06/14 09:43:17 pgj Exp $ + $FreeBSD: doc/en_US.ISO8859-1/books/faq/book.sgml,v 1.950 2008/06/21 07:27:50 pgj Exp $ 1995 @@ -2444,17 +2444,10 @@ amikor a kevésbé biztonságos jelszavakat használó régi operációs rendszerekkel akarunk - együttmûködni (ehhez a - sysinstall programban - válasszuk a crypto nevû - terjesztést vagy ha a forrásokból - dolgozunk, akkor telepítsük a crypto - forrásokat). A crypto terjesztésben - található könyvtárak - telepítésével emellett + együttmûködni. Emellett a &os;-ben lehetõségünk van a sokkal biztonságosabb Blowfish jelszóformátum - használatára is Az új jelszavak + használatára is. Az új jelszavak formátumát az /etc/login.conf állományban található @@ -2585,11 +2578,9 @@ Ez a korlát a szabványos &i386; - telepítésben 4 gigabyte. A &os; 4.9 - és 5.1 változataitól - kezdõdõen ennél több - memóriát a &man.pae.4; - használatával tudunk elérni. Ehhez a + telepítésben 4 GB, de a &man.pae.4; + használatával ennél több + memóriát is el tudunk elérni. Ehhez a következõ beállítás megadásával újra kell fordítanunk a rendszermagot: @@ -2614,13 +2605,12 @@ Az FFS állományrendszerek méretének elméleti határa - 8 terabyte (2 milliárd blokk), illetve az + 8 TB (2 milliárd blokk), illetve az alapértelmezett 8 KB-os blokkméret esetén 16 TB. A gyakorlatban azonban - szoftveresen ebbõl 1 terabyte - használható ki, de kisebb - módosításokkal akár - 4 terabyte-os állományrendszer is + szoftveresen ebbõl 1 TB használható + ki, de kisebb módosításokkal + akár 4 TB-os állományrendszer is használható (és létezik). Egyetlen FFS állományrendszerbeli @@ -2646,32 +2636,32 @@ 4 KB - 4 TB - 1 - > 4 TB + > 4 TB + 4 TB - 1 8 KB - > 32 GB - 32 TB - 1 + > 32 GB + 32 TB - 1 16 KB - > 128 GB - 32 TB - 1 + > 128 GB + 32 TB - 1 32 KB - > 512 GB - 64 TB - 1 + > 512 GB + 64 TB - 1 64 KB - > 2048 GB - 128 TB - 1 + > 2048 GB + 128 TB - 1 @@ -2683,25 +2673,26 @@ és az egészet elméletben egyedül csak az állományrendszerben így ábrázolható blokkok maximális - száma korlátozná (ami kb. 1 KB^3 - + 1 KB^2 + 1 KB), azonban a gyakorlatban ezt az + száma korlátozná (ami kb. + 10243 + 10242 + 1024), + azonban a gyakorlatban ezt az állományrendszeri blokkokra vonatkozó - 1 GB - 1 méretû (rossz) határ + 1 GB - 1 méretû (rossz) határ korlátozza. Az állományrendszeri blokkok számát ugyanis ki kellene terjeszteni - a 2 GB - 1 méretig. 2 GB - 1 + a 2 GB - 1 méretig. 2 GB - 1 számú blokk használata körül jelentkezik ugyan néhány hiba, de ezek 4 KB-os blokkméret esetén nem is érhetõek el. A 8 KB-nál nagyobb blokkméretek - esetén mindenre a blokkok 2 GB - 1 + esetén mindenre a blokkok 2 GB - 1 maximális mennyisége érvényes, de a gyakorlatban ezt a blokkok számának - 1 GB - 1 határa korlátozza. Az eredeti - 2 GB - 1 mennyiségû blokk használata - gondokat okozhat. + 1 GB - 1 határa korlátozza. Az + eredeti 2 GB - 1 mennyiségû blokk + használata gondokat okozhat. @@ -2742,8 +2733,8 @@ Próbáljuk meg letiltani az ACPI támogatást. Ezt úgy tudjuk megtenni, hogy amikor a rendszertöltõ elindul, lenyomjuk a - szóköz billentyût. Ekkor a - következõt kapjuk: + Szóköz billentyût. Ekkor + a következõt kapjuk: OK @@ -2783,13 +2774,13 @@ másra. Továbbra is határozottan javasoljuk, hogy olvassuk át figyelmesen a &os; &rel.current; vagy + url="&rel.current.hardware;">&rel.current; vagy &rel2.current; változatához tartozó hardverjegyzéket (Hardware Notes) és nézzünk után a levelezési listák + url="http://www.FreeBSD.org/search/#mailinglists"> archívumában mielõtt bármire is rákérdeznéünk a legfrissebb és legjobb hardverek ügyében. @@ -2858,21 +2849,43 @@ - Igen. A &os; 5.2 verziójáig az SMP - támogatása alapértelmezetten - engedélyezett volt a GENERIC - rendszermagban. + A &os; általánosságban véve + támogatja a többprocesszoros rendszereket, noha + egyes esetekben a BIOS vagy az alaplap + hibájából fakadóan + problémáink adódhatnak. A &a.smp; + átolvasása segíthet tisztázni + ezeket. - Eredetileg az volt a szándékunk, hogy a - &os; 5.3 kiadásban is engedélyezzük, - de problémák merültek fel az SMP - rendszermag futtatásával egyprocesszoros - gépeken, ezért úgy - döntöttünk, hogy azok - megoldásáig ezt a lehetõséget - letiltjuk. A &os; 5.4 kiadásában ennek - kijavítása különös - fontossággal bír. + A &os; képes kihasználni az Intel + processzorai által felkínált + HyperThreading (HTT) támogatás elõnyeit. + Az options SMP + beállítással fordított + rendszermagok alapból maguktól felismerik a + rendszerünkben található logikai + processzorokat. A &os; alapértelmezett + ütemezõje ezeket a logikai processzorokat a + többivel teljesen egyenrangúnak tekinti, vagyis + semmilyen ütemezési kérdés + eldöntésénél nem fogja + figyelembevenni az egy processzoron belül + elhelyezkedõ logikai processzorokat. Ezen naív + ütemezési felfogás miatt bizonyos + esetekben a rendszerünk teljesítménye nem + tökéletesen optimális, ezért + adódhatnak olyan helyzetek, amikor a + machdep.hlt_logical_cpus + sysctl-változó + segítségével szükséges + lehet a logikai processzorok használatának + letiltása. Ezenkívül még a + machdep.hlt_logical_cpus + sysctl-változón keresztül + lehetõségünk van leállítani + az üresjáratban mûködõ + processzorokat. Ennek részleteirõl + bõvebben a &man.smp.4; man oldalon olvashatunk. @@ -3139,17 +3152,12 @@ A &os; alapból ismeri az USB billentyûzeket. - Ehhez mindössze az USB támogatását - kell engedélyezni az - /etc/rc.conf - állományban. - - Miután engedélyeztük - rendszerünkben az USB billentyûzet - használatát, az AT billentyûzet - /dev/kbd0 lesz és az USB - billentyûzet pedig /dev/kbd1, - már amennyiben mind a kettõt csatlakoztattuk a + Miután engedélyeztük rendszerünkben + az USB billentyûzet támogatását, + az AT billentyûzet /dev/kbd0 + lesz és az USB billentyûzet pedig + /dev/kbd1, már amennyiben + mind a kettõt csatlakoztattuk a számítógépünkhöz. Ha viszont csak USB billentyûzetünk van, akkor az a /dev/ukbd0 lesz. @@ -3160,7 +3168,7 @@ ha a következõ parancsot lefuttatja a rendszer indítása közben: - &prompt.root; kbdcontrol -k /dev/kbd1 < /dev/ttyv0 > /dev/null + &prompt.root; kbdcontrol -k /dev/kbd1 < /dev/console > /dev/null Amikor viszont csak USB billentyûzetünk van, akkor az /dev/ukbd0 @@ -3168,31 +3176,54 @@ ezért a parancsnak ilyenkor így kell kinéznie: - &prompt.root; kbdcontrol -k /dev/ukbd0 < /dev/ttyv0 > /dev/null + &prompt.root; kbdcontrol -k /dev/ukbd0 < /dev/console > /dev/null - A parancs megfelelõ változatát - nyugodtan felvehetjük az - /etc/rc.i386 - állományba. + + Ha véglegesíteni akarjuk ezt a + beállítást, akkor tegyük a + keyboard="/dev/ukbd0" sort az + /etc/rc.conf + állományba. + Miután ezt megcsináltuk, az USB billentyûzet X alatt is mûködni fog minden további beállítás nélkül. - Az USB billentyûzet menet közbeni - csatlakoztatása és leválasztása - nem feltétlenül fog mûködni. - Ezért a problémák - elkerülése érdekében azt - javasoljuk, hogy a rendszer indítása - elõtt mindenképpen csatlakoztassuk a - billentyûzetet és hagyjuk egészen - úgy, amíg le nem - állítottuk. + Ezzel a paranccsal tudunk visszaváltani az + alapértelmezett billentyûzetre: + + &prompt.root; kbdcontrol -k /dev/kbd0 > /dev/null + + A &man.kbdmux.4; meghajtón keresztül az + alábbi parancsok kiadásával + engedélyezhetjük az elsõdleges AT + billentyûzet és a másodlagos USB + billentyûzet párhuzamos + használatát a konzolon: + + &prompt.root; kbdcontrol -K < /dev/console > /dev/null +&prompt.root; kbdcontrol -a atkbd0 < /dev/kbdmux0 > /dev/null +&prompt.root; kbdcontrol -a ukbd1 < /dev/kbdmux0 > /dev/null +&prompt.root; kbdcontrol -k /dev/kbdmux0 < /dev/console > /dev/null Részletesebb információkat az - &man.ukbd.4; man oldalon találhatunk. + &man.ukbd.4;, &man.kbdcontrol.1; és &man.kbdmux.4; + man oldalakon találhatunk. + + + Az USB billentyûzet menet közbeni + csatlakoztatása és + leválasztása nem feltétlenül fog + mûködni. Ezért a problémák + elkerülése érdekében azt + javasoljuk, hogy a rendszer indítása + elõtt mindenképpen csatlakoztassuk a + billentyûzetet és hagyjuk egészen + úgy, amíg le nem + állítottuk. + @@ -3247,27 +3278,9 @@ device psm0 at atkbdc? irq 12 Miután a rendszermag a rendszer - indítása során helyesen észlelte a - psm0 eszközt, gondoskodjunk - róla, hogy a psm0 - eszközhöz tartozó leíró - meglegyen a /dev - könyvtárban. Manuálisan így - tudjuk ezt root - felhasználóként - létrehozni: - - &prompt.root; cd /dev; sh MAKEDEV psm0 - - - Ha a &os; 5.0-RELEASE vagy annál - újabb változatokban elérhetõ - &man.devfs.5; alrendszert használjuk, akkor az - iménti lépést nyugodtan elhagyhatjuk, - mivel ilyenkor a /dev - magától létrejön a - megfelelõ bejegyzés. - + indítása során helyesen észlelte + a psm0 eszközt, + magától létrejön. @@ -3470,11 +3483,7 @@ comms/ltmdm port például a szélesebb körben elterjedt Lucent LT chipsetes modemekhez ad - támogatást. A comms/mwavem port pedig az IBM - Thinkpad 600 és 700 sorozatszámú - laptopokban található modemeket - támogatja. + támogatást. A &os; azonban nem telepíthetõ szoftveres modemen keresztül. A hozzátartozó @@ -3565,12 +3574,9 @@ - A &os; rengeteg hangkártyát ismer, - többek közt a &soundblaster;, &soundblaster; Pro, - &soundblaster; 16, Pro Audio Spectrum 16, AdLib és - Gravis UltraSound eszközöket (ennek + A &os; rengeteg hangkártyát ismer, (ennek részleteit lásd a &os; kiadásait + url="&url.base;/releases/">&os; kiadásait tartalmazó honlapon és a &man.snd.4; man oldalon). Korlátozott módon az MPU-401 és a vele kompatibilis MIDI-kártyákat @@ -3599,9 +3605,8 @@ - Egyes hangkártyák, például - az es1370 esetében, a hangerõ minden - indításkor nullára + Egyes hangkártyák esetében a + hangerõ minden indításkor nullára állítódik. Ezért ilyenkor mindig ki kell adni a következõ parancsot: @@ -3624,26 +3629,24 @@ - A &os; 4.X és késõbbi - változatai bizonyos gépeken képesek az + A &os; bizonyos gépeken képes az APM használatára. Errõl az &man.apm.4; man oldalon találunk pontosabb leírást. - A &os; 5.X és az utána - következõ változatok pedig a legújabb - hardverekben megtalálható - ACPI lehetõségeit igyekeznek - kihasználni. Errõl részletesebben az - &man.acpi.4; man oldalon olvashatunk. Amennyiben a - rendszerünk egyaránt tartalmazza az - APM és az ACPI - támogatását, bármelyiket - használhatjuk. Ilyen esetben javasoljuk mind a - kettõ kipróbálását - és az igényeinkhez leginkább - illeszkedõ megoldás - kiválasztását. + A &os; ezenkívül még a + legújabb hardverekben megtalálható + ACPI lehetõségeit is + igyekezik kihasználni. Errõl + részletesebben az &man.acpi.4; man oldalon + olvashatunk. Amennyiben a rendszerünk egyaránt + tartalmazza az APM és az + ACPI támogatását, + bármelyiket használhatjuk. Ilyen esetben + javasoljuk mind a kettõ + kipróbálását és az + igényeinkhez leginkább illeszkedõ + megoldás kiválasztását. @@ -3712,40 +3715,6 @@ linkend="micron-hang-boot">az elõzõ választ. - - - - A PCMCIA kártya nem mûködik. A - hibaüzenet a következõ: cbb0: - unsupported card type detected. Mi lehet ezzel - kezdeni? - - - - Próbálkozzunk az eredeti OLDCARD - implementáció használatával. - Ehhez a következõ sorokat kell - átírnunk a rendszermag - konfigurációs - állományában: - - device cbb -device pccard -device cardbus - - Majd vegyük fel ezt: - - device pcic -device card 1 - - Ezután fordítsunk és - telepítsünk egy új rendszermagot a - kézikönyvben leírtak - szerint. - - - @@ -4175,8 +4144,9 @@ tápegységet is, lehetõleg egy kicsivel erõsebbet (például ha a jelenlegi tápegységünk - teljesítménye 250 watt, akkor - használjunk helyette egy 300 wattosat). + teljesítménye 250 watt, akkor + használjunk helyette egy + 300 wattosat). @@ -4297,17 +4267,6 @@ Miután végrehajtottuk ezt a módosítást, a megszokott módon fordítsuk újra a rendszermagot. - - Még a hiba megkerülése után is - elõfordulhat, hogy az X Window System nem - mûködik megfelelõen. Ilyen esetekben - gondoskodjuk róla, hogy legalább az - &xfree86; 3.3.3 változatát - használjuk. Ettõl a verziótól - kezdõdõen ugyanis a Mach 64 - kártyák beépített - támogatással, sõt külön X - szerverrel is rendelkeznek. @@ -4425,26 +4384,26 @@ - Miért jelenik meg a /kernel: proc: + Miért jelenik meg a kernel: proc: table is full hibaüzenet? A &os; rendszermagja egyszerre csak bizonyos számú programot enged futni. Ezek - konkrét száma a MAXUSERS - beállítástól függ a - rendszermag konfigurációs - állományában. A - MAXUSERS ezenkívül még - hatással van más belsõ korlátokra - is, például a hálózati - pufferekre (lásd kern.maxusers + &man.sysctl.8;-változótól függ. A + kern.maxusers ezenkívül + még hatással van más belsõ + korlátokra is, például a + hálózati pufferekre (lásd ezt a korábbi kérdést). Ha a számítógépünk túlságosan leterhelt, akkor érdemes - megpróbálkoznunk a MAXUSERS + megpróbálkoznunk a + kern.maxusers értékének növelésével. Ennek átállítása a rendszerben @@ -4453,13 +4412,11 @@ rendszerszintû korlátozást is finomít. - A MAXUSERS + A kern.maxusers értékének beállításához nézzük meg a kézikönyv Az - állományok és futó programok - korlátozásairól + url="&url.books.handbook;/configtuning-kernel-limits.html#KERN-MAXFILES">Az állományok és futó programok korlátozásairól szóló szakaszát. (Miközben ez a rész a megnyitható állományok maximális számáról szól, @@ -4559,8 +4516,8 @@ lezárást (automatic termination). A SCSI BIOS-ban az automatikus lezárás helyett adjuk meg a megfelelõ - lezárást. Az AIC7XXX meghajtója nem - képes rendesen érzékelni a + lezárást. Az &man.ahc.4; meghajtója + nem képes rendesen érzékelni a kábeleket, ha az alaplapon van ilyen érzékelés (és így automatikus lezárás). A meghajtó @@ -4668,96 +4625,21 @@ - - Miért írja ki a gép a - calcru: negative time... - hibaüzenetet? - - - - Ez a típusú hiba a - megszakítások kezeléséhez - kapcsolódó szoftveres vagy hardveres komponensek - különbözõ - problémáiból fakadhat. - Okozhatják programhibák is, de eredhet - akár az egyes eszközök - jellegébõl. Például, ha - párhuzamos porton keresztül nagy MTU - értékkel használjuk a TCP/IP - protokollt, akkor könnyen szembetalálhatjuk - magunkat ezzel. A grafikus - gyorsítókártyák - használata során is felbukkanhat, ilyenkor - elõször a kártya - megszakítással kapcsolatos - beállításait érdemes - átnéznünk. - - A probléma egyik mellékhatása, hogy - a programok folyamatosan SIGXCPU exceeded cpu time - limit hibával állnak le. - - Ha másképpen nem oldható meg, akkor - a következõ rendszerváltozót kell - beállítanunk: - - &prompt.root; sysctl -w kern.timecounter.method=1 - - - A &man.sysctl.8; - kapcsolóját a &os; 4.4-RELEASE és - késõbbi változatai már nem - veszik figyelembe, ezért ilyenkor minden - további nélkül elhagyhatjuk. - - - Ez alapvetõen - teljesítménycsökkenést jelent, de a - probléma okát tekintve ezt nem igen fogjuk - észrevenni. Amennyiben a gond továbbra is - fennáll, hagyjuk a változó - értékét továbbra is az egy - értéken, és a rendszermag - beállításai között az - NTIMECOUNTER értékét - próbáljuk meg növelgetni. Ha ennek - során egészen a - NTIMECOUNTER=20 értékig - jutunk el, de a problémát továbbra sem - sikerül megoldani, akkor el kell könyvelnünk, - hogy rendszerünkben a megszakítási - kérések túlságosan gyakoriak az - idõzítés megfelelõ - szervezéséhez. - - - - A Plug and Play kártyákat miért nem találja meg (vagy unknown típusúként látja) a - &os; 4.X? + &os;? - A &os; 4.X a korábbi - verzióknál sokkal jobban - koncentrál a Plug and Play-re, aminek van - egy olyan mellékhatása, hogy bizonyos PnP - eszközök (például - hangkártyák vagy belsõ modemek) - még akkor sem használhatóak, ha a - &os; 3.X változata alatt - mûködtek. - Ennek az okait a következõ levélben - fejtette ki Peter Wemm a freebsd-questions levelezési - listán, amiben arra válaszolt, hogy egy - belsõ modemet miért nem észlel a rendszer - miután frissítették &os; 4.X-re - (az érthetõség kedvéért + fejtette ki &a.peter; a &a.questions; tagjainak, amelyben + arra válaszolt, hogy egy belsõ modemet + miért nem észlel a rendszer miután + frissítették + &os; 4.X-re (az + érthetõség kedvéért szögletes zárójelek között hozzáadtunk néhány kiegészítést is). @@ -4772,9 +4654,9 @@ és magára hagyta valahol a portok számára fenntartott címtérben, így az ISA eszközök régi - típusú [3.X-ben levõ] - eszközpróbálgatásai ott - találták meg. + típusú [3.X-ben + levõ] eszközpróbálgatásai + ott találták meg. A 4.0 esetében azonban az ISA eszközöket kezelõ kód már @@ -4841,14 +4723,15 @@ DMA 4 0 IO range check 0x00 activate 0x01 - Innen a Vendor ID kezdetû sorra lesz - szükségünk. A zárójelek + Innen a Vendor ID kezdetû sorra + lesz szükségünk. A zárójelek között szereplõ hexadecimális - szám (ami a példában a 0x3024a341) lesz - az eszköz PnP azonosítója, valamint a - közvetlenül ez elõtt szereplõ - karakterlánc az egyedi ASCII - azonosítója (PMC2430). + szám (ami a példában a + 0x3024a341) lesz az eszköz PnP + azonosítója, valamint a közvetlenül + ez elõtt szereplõ karakterlánc az egyedi + ASCII azonosítója + (PMC2430). Ha a &man.pnpinfo.8; lefuttatásának eredményeképpen megjelenõ lista nem @@ -4866,27 +4749,28 @@ subclass = audio Ebbõl a chip - változót, vagy is a 0x24158086 - értéket kell felhasználnunk. + változót, vagy is a + 0x24158086 értéket kell + felhasználnunk. - Ezt az információt (a Vendor - ID vagy a chip + Ezt az információt (a Vendor + ID vagy a chip értékét) ezután a - /usr/src/sys/isa/sio.c + /usr/src/sys/dev/sio/sio_isa.c állományba kell felvennünk. Ehhez elõször is készítsünk egy biztonsági másolatát a - sio.c állományról - arra az esetre, ha véletlenül valami rossz - történne. Ez azért is hasznunkra fog - válni, mert így tudunk egy - javítást mellékelni a - hibajelentésünk mellé (mert ugye - írni fogunk róla hibajelentést, ugye?). - Szóval, keressük meg a - sio.c állományban a - következõ sort: + sio_isa.c + állományról arra az esetre, ha + véletlenül valami rossz történne. + Ez azért is hasznunkra fog válni, mert + így tudunk egy javítást + mellékelni a hibajelentésünk mellé + (mert ugye írni fogunk róla + hibajelentést, ugye?). Szóval, keressük + meg a sio_isa.c + állományban a következõ sort: static struct isa_pnp_id sio_ids[] = { @@ -4914,8 +4798,8 @@ újra a rendszermagot és indítsuk újra vele a rendszerünket. Ha mindent jól csináltunk, akkor az eszköz - sio eszközként fog - megjelenni, ahogy a &os; 3.X esetén is. + sio eszközként fog + megjelenni. @@ -5093,11 +4977,15 @@ többet a rendszer. - Teljesen letiltjuk a figyelmeztetéseket - úgy, hogy az isa_strayintr() - függvényben az 55 - értéket átállítjuk a - 0 értékre. + Ha platformunkhoz (mint például + &i386;) tartozó intr_machdep.c + állományban található + MAX_STRAY_LOG + értékét átírjuk + 5-rõl 0-ra + és így újrafordítjuk a + rendszermagot, akkor ezzel teljesen letilthatjuk a + figyelmeztetéseket. Megszüntetjük az üzeneteket @@ -5142,24 +5030,26 @@ Miért jár rosszul az óra a - laptopon? + számítógépen? - A laptopnak kettõ vagy több - idõmérõ eszköze van, és a &os; - pont a rosszabbikat választotta. + A számítógépnek kettõ + vagy több idõmérõ eszköze van, + és a &os; pont a rosszabbikat + választotta. Adjuk ki a &man.dmesg.8; parancsot és vizsgáljuk meg a Timecounter - kezdetû sorokat. A &os; közülük - magától mindig az utolsóként - szereplõt választja ki, és ez szinte - majdnem minden esetben a TSC lesz. + kezdetû sorokat. Ezek közül a &os; a + legnagyobb quality értékkel + rendelkezõt választotta. &prompt.root; dmesg | grep Timecounter -Timecounter "i8254" frequency 1193182 Hz -Timecounter "TSC" frequency 595573479 Hz +Timecounter "i8254" frequency 1193182 Hz quality 0 +Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000 +Timecounter "TSC" frequency 2998570050 Hz quality 800 +Timecounters tick every 1.000 msec Errõl a kern.timecounter.hardware &man.sysctl.3; @@ -5167,9 +5057,18 @@ tudunk ténylegesen megbizonyosodni: &prompt.root; sysctl kern.timecounter.hardware -kern.timecounter.hardware: TSC - - A BIOS bármikor módosíthatja a TSC +kern.timecounter.hardware: ACPI-fast + + Elõfordulhat, hogy az ACPI-idõzítõ + hibás. Ilyenkor az a legegyszerûbb, ha az + /etc/loader.conf + állományban letiltjuk az + ACPI-idõzítõ + használatát: + + debug.acpi.disabled="timer" + + Vagy a BIOS is tudja módosítani a TSC idõzítõt — például azért, hogy csökkentse a processzor sebességét, amikor merül az @@ -5191,8 +5090,9 @@ &prompt.root; sysctl -w kern.timecounter.hardware=i8254 kern.timecounter.hardware: TSC -> i8254 - Innentõl kezdve a laptopunk már sokkal - pontosabban mutatja az idõt. + Innentõl kezdve a + számítógépünk már + sokkal pontosabban mutatja az idõt. Ezt a változtatást úgy tudjuk minden rendszerindítás során @@ -5342,13 +5242,13 @@ - Mik azok a UDMA ICRC hibák + Mik azok a UDMA ICRC hibák és hogyan lehet ellenük tenni valamit? A &man.ata.4; meghajtó jelenti ezeket a - UDMA ICRC hibákat olyan esetekben, + UDMA ICRC hibákat olyan esetekben, amikor a merevlemezre vagy a merevlemezrõl érkezõ DMA átvitel hibás. A meghajtó ilyenkor még párszor @@ -5365,18 +5265,19 @@ kábelezés. Ilyenkor mindig ellenõrizzük, hogy a merevlemezhez csatlakozó ATA-kábelek sértetlenek - és a használni kívánt Ultra DMA - átviteli módra alkalmasak. Ha + és a használni kívánt + Ultra DMA átviteli módra alkalmasak. Ha cserélhetõ lemezes meghajtót használunk, akkor kompatibilisnek is kell lenniük. Ez a gond akkor jelentkezhet, amikor - ugyanarra az ATA-csatornára egy Ultra DMA 66-os (vagy - annál is gyorsabb) és egy régebbi - meghajtót csatlakoztatunk. Végezetül - ezek a hibaüzenetek arra is utalhatnak, hogy a - meghajtó meghibásodott. A legtöbb - gyártó külön szoftver ajánl - fel ennek vizsgálatára, ezért ilyenkor + ugyanarra az ATA-csatornára egy + Ultra DMA 66-os (vagy annál is gyorsabb) + és egy régebbi meghajtót + csatlakoztatunk. Végezetül ezek a + hibaüzenetek arra is utalhatnak, hogy a meghajtó + meghibásodott. A legtöbb gyártó + külön szoftver ajánl fel ennek + vizsgálatára, ezért ilyenkor érdemes letesztelnünk az érintett meghajtót, illetve amennyiben szükséges, biztonsági másolatot készíteni @@ -5934,7 +5835,8 @@ Ha olyan &os; verziónk van, amely egy kicsit - lemaradt az aktuális -CURRENT vagy -STABLE ágak + lemaradt az aktuális -CURRENT + vagy -STABLE ágak mögött, akkor valószínûleg frissítenünk kell a Portgyûjteményünket. Ennek @@ -5945,7 +5847,8 @@ viszont rendszerünkben minden a lehetõ legfrissebb, akkor elõfordulhat, hogy valaki olyan változtatást rakott fel a porthoz, amely a - -CURRENT esetén mûködik, de a -STABLE + -CURRENT esetén + mûködik, de a -STABLE változatban már nem. Ilyenkor feltétlenül küldjünk egy hibajelentést a &man.send-pr.1; paranccsal, hiszen a @@ -6424,8 +6327,9 @@ parancsokat használtuk és valószínûleg a forrásaink sem egyeznek meg a jelenleg futó rendszerével - (például egy 6.3-RELEASE rendszert akarunk - fordítani egy 6.0-RELEASE rendszeren). Ha + (például egy &rel.current;-RELEASE + rendszert akarunk fordítani egy + &rel2.current;-RELEASE rendszeren). Ha frissíteni akarunk, akkor olvassuk el a /usr/src/UPDATING állományt, különös @@ -6565,15 +6469,16 @@ felhasználói adatokat. Ez különösen ajánlott abban az esetben, ha már több kiadás óta - követjük a -STABLE változatot, vagy ha - korábban már frissítettük a - kiadásunkat. A &man.boot0cfg.8; - segítségével fel tudjuk rakni a - booteasyt mind a két lemezre és így - egészen addig váltogatni tudjuk a kettõt, - amíg teljesen át nem álltunk. Ugorjuk - át a következõ bekezdést, és - olvassuk el, hogy rakjuk át az adatokat. + követjük a -STABLE + változatot, vagy ha korábban már + frissítettük a kiadásunkat. A + &man.boot0cfg.8; segítségével fel + tudjuk rakni a booteasyt mind a két lemezre és + így egészen addig váltogatni tudjuk a + kettõt, amíg teljesen át nem + álltunk. Ugorjuk át a következõ + bekezdést, és olvassuk el, hogy rakjuk + át az adatokat. Úgy is dönthetünk, hogy nem telepítjük újra a rendszert. Ekkor vagy a @@ -6977,14 +6882,13 @@ A gyökérpartíció hagyományosan az egyik legkisebb - partíció. A &os; alapértelmezés - szerint viszont az ideiglenes állományok - tárolására szánt - /tmp könyvtárat is ezen - belülre teszi, ezért ha gyakran - használjuk, akkor itt idõszakosan - tárhelyproblémáink is - adódhatnak. Könnyen megoldhatjuk azonban ezt a >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Aug 3 16:13:54 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 84ADE1065674; Sun, 3 Aug 2008 16:13:54 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 49463106568F for ; Sun, 3 Aug 2008 16:13:54 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 38AC48FC12 for ; Sun, 3 Aug 2008 16:13:54 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m73GDsi0047209 for ; Sun, 3 Aug 2008 16:13:54 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m73GDsq0047207 for perforce@freebsd.org; Sun, 3 Aug 2008 16:13:54 GMT (envelope-from gabor@freebsd.org) Date: Sun, 3 Aug 2008 16:13:54 GMT Message-Id: <200808031613.m73GDsq0047207@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 146535 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, 03 Aug 2008 16:13:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=146535 Change 146535 by gabor@gabor_server on 2008/08/03 16:13:49 - Add some work-in-progress code for --strip-trailing-cr Affected files ... .. //depot/projects/soc2008/gabor_textproc/diff/diff.c#17 edit .. //depot/projects/soc2008/gabor_textproc/diff/diff.h#6 edit .. //depot/projects/soc2008/gabor_textproc/diff/diffreg.c#6 edit Differences ... ==== //depot/projects/soc2008/gabor_textproc/diff/diff.c#17 (text+ko) ==== @@ -46,7 +46,7 @@ #include "diff.h" int aflag, bflag, dflag, iflag, lflag, Nflag, Pflag, pflag, rflag; -int sflag, tflag, Tflag, wflag, uniflag; +int sflag, tflag, Tflag, wflag, uniflag, strip_cr; int format, status; int fcase_behave = FCASE_SENSITIVE; unsigned long long context; @@ -63,6 +63,7 @@ FROMFILE_OPT, TOFILE_OPT, UNIDIR_OPT, + STRIPCR_OPT, NOOP_OPT }; @@ -70,8 +71,7 @@ static struct option longopts[] = { { "ignore-file-name-case", no_argument, NULL, FCASE_IGNORE_OPT }, { "no-ignore-file-name-case", no_argument, NULL, FCASE_SENSITIVE_OPT }, -/* XXX: UNIMPLEMENTED - { "strip-trailing-cr", no_argument, NULL, OPT_STRIPCR }, */ + { "strip-trailing-cr", no_argument, NULL, STRIPCR_OPT }, { "normal", no_argument, NULL, NORMAL_OPT }, /* XXX: UNIMPLEMENTED { "tabsize", optional_argument, NULL, OPT_TSIZE }, */ @@ -284,9 +284,9 @@ case FCASE_IGNORE_OPT: fcase_behave = FCASE_IGNORE; break; - case 'F': - case 'y': - case 'W': + case STRIPCR_OPT: + strip_cr = 1; + break; case NOOP_OPT: /* noop, compatibility */ break; ==== //depot/projects/soc2008/gabor_textproc/diff/diff.h#6 (text+ko) ==== @@ -83,7 +83,7 @@ }; extern int aflag, bflag, dflag, iflag, lflag, Nflag, Pflag, pflag, rflag, - sflag, tflag, Tflag, wflag, uniflag; + sflag, tflag, Tflag, wflag, uniflag, strip_cr; extern int format, status; extern int fcase_behave; extern unsigned long long context; ==== //depot/projects/soc2008/gabor_textproc/diff/diffreg.c#6 (text+ko) ==== @@ -779,8 +779,16 @@ (c == '\n' && d == EOF))) { break; } + if ((strip_cr) && + ((c == EOF && d == '\r') || + (c == '\r' && d == EOF))) + break; ctold++; ctnew++; + while ((strip_cr) && (c == '\r')) + c = getc(f1); + while ((strip_cr) && (d == '\r')) + d = getc(f2); if (bflag && isspace(c) && isspace(d)) { do { if (c == '\n') @@ -1228,6 +1236,8 @@ if (!bflag && !wflag) { if (iflag) for (i = 0; (t = getc(f)) != '\n'; i++) { + if (t == '\r' && strip_cr) + continue; if (t == EOF) { if (i == 0) return (0); @@ -1237,6 +1247,8 @@ } else for (i = 0; (t = getc(f)) != '\n'; i++) { + if (t == '\r' && strip_cr) + continue; if (t == EOF) { if (i == 0) return (0); @@ -1276,6 +1288,7 @@ * There is a remote possibility that we end up with a zero sum. * Zero is used as an EOF marker, so return 1 instead. */ + printf("HASH: %d\n", (sum == 0 ? 1 : sum)); return (sum == 0 ? 1 : sum); } From owner-p4-projects@FreeBSD.ORG Sun Aug 3 16:31:12 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4D3681065678; Sun, 3 Aug 2008 16:31:12 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 108DE1065672 for ; Sun, 3 Aug 2008 16:31:12 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E8AC58FC21 for ; Sun, 3 Aug 2008 16:31:11 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m73GVB0V048687 for ; Sun, 3 Aug 2008 16:31:11 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m73GVBvW048685 for perforce@freebsd.org; Sun, 3 Aug 2008 16:31:11 GMT (envelope-from ed@FreeBSD.org) Date: Sun, 3 Aug 2008 16:31:11 GMT Message-Id: <200808031631.m73GVBvW048685@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 146536 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, 03 Aug 2008 16:31:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=146536 Change 146536 by ed@ed_flippo on 2008/08/03 16:30:32 Make nmdm(4) actually work again. I still need to improve several things here: - Unloading is not safe. It doesn't clean up things properly. - We don't destroy nmdm's yet. Affected files ... .. //depot/projects/mpsafetty/sys/dev/nmdm/nmdm.c#3 edit Differences ... ==== //depot/projects/mpsafetty/sys/dev/nmdm/nmdm.c#3 (text+ko) ==== @@ -148,7 +148,7 @@ ns = nmdm_alloc(unit, cred); - if (end[1] == 'A') + if (end[0] == 'A') *dev = ns->ns_part1.np_tty->t_dev; else *dev = ns->ns_part2.np_tty->t_dev; @@ -178,41 +178,39 @@ nmdm_task_tty(void *arg, int pending __unused) { struct tty *tp, *otp; - struct nmdmpart *np = tty_softc(tp); -#if 0 - int c; -#endif + struct nmdmpart *np = arg; + char c; + + tp = np->np_tty; + tty_lock(tp); - tp = arg; otp = np->np_other->np_tty; KASSERT(otp != NULL, ("NULL otp in nmdmstart")); KASSERT(otp != tp, ("NULL otp == tp nmdmstart")); if (np->np_other->np_dcd) { if (!tty_opened(tp)) { np->np_other->np_dcd = 0; - (void)ttydisc_modem(otp, 0); + ttydisc_modem(otp, 0); } } else { if (tty_opened(tp)) { np->np_other->np_dcd = 1; - (void)ttydisc_modem(otp, 1); + ttydisc_modem(otp, 1); } } -#if 0 - while (tp->t_outq.c_cc != 0) { - if (sp->rate && !sp->quota) - return; - if (otp->t_state & TS_TBLOCK) - return; - sp->quota--; - c = getc(&tp->t_outq); - if (otp->t_state & TS_ISOPEN) - ttyld_rint(otp, c); + while (ttydisc_rint_poll(otp) > 0) { + if (np->np_rate && !np->np_quota) + break; + if (ttydisc_getc(tp, &c, 1) != 1) + break; + np->np_quota--; + ttydisc_rint(otp, c, 0); } - if (tp->t_outq.c_cc == 0) - ttwwakeup(tp); -#endif + + ttydisc_rint_done(otp); + + tty_unlock(tp); } static int @@ -236,7 +234,7 @@ } static int -nmdmparam(struct tty *tp, struct termios *t) +nmdm_param(struct tty *tp, struct termios *t) { struct nmdmpart *np = tty_softc(tp); struct tty *tp2; @@ -244,7 +242,7 @@ tp2 = np->np_other->np_tty; - if (!((t->c_cflag | tp2->t_cflag) & CDSR_OFLOW)) { + if (!((t->c_cflag | tp2->t_termios.c_cflag) & CDSR_OFLOW)) { np->np_rate = 0; np->np_other->np_rate = 0; return (0); @@ -261,7 +259,7 @@ for (i = 0; i < 2; i++) { /* Use the slower of our receive and their transmit rate */ - speed = imin(tp2->t_ospeed, t->c_ispeed); + speed = imin(tp2->t_termios.c_ospeed, t->c_ispeed); if (speed == 0) { np->np_rate = 0; np->np_other->np_rate = 0; @@ -289,34 +287,34 @@ t = &tp2->t_termios; tp2 = tp; } + return (0); } -#if 0 static int -nmdmmodem(struct tty *tp, int sigon, int sigoff) +nmdm_modem(struct tty *tp, int sigon, int sigoff) { - struct softpart *sp; - int i; + struct nmdmpart *np = tty_softc(tp); + int i = 0; - sp = tty_softc(tp); if (sigon || sigoff) { if (sigon & SER_DTR) - sp->other->nm_dcd = 1; + np->np_other->np_dcd = 1; if (sigoff & SER_DTR) - sp->other->nm_dcd = 0; - ttyld_modem(sp->other->nm_tty, sp->other->nm_dcd); + np->np_other->np_dcd = 0; + + ttydisc_modem(np->np_other->np_tty, np->np_other->np_dcd); + return (0); } else { - i = 0; - if (sp->nm_dcd) + if (np->np_dcd) i |= SER_DCD; - if (sp->other->nm_dcd) + if (np->np_other->np_dcd) i |= SER_DTR; + return (i); } } -#endif static void nmdm_outwakeup(struct tty *tp) From owner-p4-projects@FreeBSD.ORG Sun Aug 3 16:35:16 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 986CC1065687; Sun, 3 Aug 2008 16:35:16 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5C667106567D for ; Sun, 3 Aug 2008 16:35:16 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 31D5D8FC1B for ; Sun, 3 Aug 2008 16:35:16 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m73GZGYX049068 for ; Sun, 3 Aug 2008 16:35:16 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m73GZGbR049066 for perforce@freebsd.org; Sun, 3 Aug 2008 16:35:16 GMT (envelope-from ed@FreeBSD.org) Date: Sun, 3 Aug 2008 16:35:16 GMT Message-Id: <200808031635.m73GZGbR049066@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 146537 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, 03 Aug 2008 16:35:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=146537 Change 146537 by ed@ed_flippo on 2008/08/03 16:34:36 Don't forget to hook up nmdm to the build again. Affected files ... .. //depot/projects/mpsafetty/sys/conf/NOTES#5 edit Differences ... ==== //depot/projects/mpsafetty/sys/conf/NOTES#5 (text+ko) ==== @@ -1281,7 +1281,7 @@ device pts #Pseudo ttys device ptycompat #BSD-style compatibility pseudo ttys -#device nmdm #back-to-back tty devices +device nmdm #back-to-back tty devices device md #Memory/malloc disk device ccd #Concatenated disk driver device firmware #firmware(9) support From owner-p4-projects@FreeBSD.ORG Sun Aug 3 16:50:32 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 255E61065670; Sun, 3 Aug 2008 16:50:32 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DAC521065671 for ; Sun, 3 Aug 2008 16:50:31 +0000 (UTC) (envelope-from konrad@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C797E8FC1B for ; Sun, 3 Aug 2008 16:50:31 +0000 (UTC) (envelope-from konrad@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m73GoV8f059980 for ; Sun, 3 Aug 2008 16:50:31 GMT (envelope-from konrad@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m73GoV51059978 for perforce@freebsd.org; Sun, 3 Aug 2008 16:50:31 GMT (envelope-from konrad@FreeBSD.org) Date: Sun, 3 Aug 2008 16:50:31 GMT Message-Id: <200808031650.m73GoV51059978@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to konrad@FreeBSD.org using -f From: Konrad Jankowski To: Perforce Change Reviews Cc: Subject: PERFORCE change 146539 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, 03 Aug 2008 16:50:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=146539 Change 146539 by konrad@vspredator on 2008/08/03 16:49:51 Trying to make a little order here... Affected files ... .. //depot/projects/soc2008/konrad_collation/libc/Makefile#2 delete .. //depot/projects/soc2008/konrad_collation/libc/Versions.def#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/SYS.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/Symbol.map#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/_fpmath.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/arith.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/gd_qnan.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/_set_tp.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/_setjmp.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/fabs.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/flt_rounds.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/fpgetmask.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/fpgetprec.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/fpgetround.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/fpgetsticky.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/fpsetmask.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/fpsetprec.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/fpsetround.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/infinity.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/ldexp.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/makecontext.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/modf.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/rfork_thread.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/setjmp.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/signalcontext.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/sigsetjmp.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/stdlib/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/stdlib/div.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/stdlib/ldiv.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/stdlib/lldiv.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/string/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/string/bcmp.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/string/bcopy.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/string/bzero.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/string/memcmp.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/string/memcpy.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/string/memmove.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/string/memset.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/string/strcat.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/string/strcmp.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/string/strcpy.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/amd64_get_fsbase.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/amd64_get_gsbase.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/amd64_set_fsbase.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/amd64_set_gsbase.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/brk.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/cerror.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/exect.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/getcontext.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/pipe.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/ptrace.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/reboot.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/sbrk.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/setlogin.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/sigreturn.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/vfork.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/SYS.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/Symbol.map#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/_fpmath.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/arith.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/gd_qnan.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/gen/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/gen/_ctx_start.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/gen/_set_tp.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/gen/_setjmp.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/gen/alloca.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/gen/divsi3.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/gen/fabs.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/gen/infinity.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/gen/makecontext.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/gen/modf.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/gen/setjmp.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/gen/signalcontext.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/gen/sigsetjmp.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/softfloat/arm-gcc.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/softfloat/milieu.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/softfloat/softfloat.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/stdlib/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/string/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/string/bcopy.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/string/bzero.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/string/ffs.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/string/memcmp.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/string/memcpy.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/string/memcpy_arm.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/string/memcpy_xscale.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/string/memmove.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/string/memset.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/string/strcmp.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/string/strlen.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/string/strncmp.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/sys/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/sys/Ovfork.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/sys/brk.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/sys/cerror.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/sys/fork.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/sys/pipe.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/sys/ptrace.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/sys/sbrk.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/sys/shmat.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/sys/sigreturn.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/arm/sys/syscall.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/compat-43/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/compat-43/Symbol.map#2 delete .. //depot/projects/soc2008/konrad_collation/libc/compat-43/creat.2#2 delete .. //depot/projects/soc2008/konrad_collation/libc/compat-43/creat.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/compat-43/gethostid.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/compat-43/gethostid.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/compat-43/getwd.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/compat-43/killpg.2#2 delete .. //depot/projects/soc2008/konrad_collation/libc/compat-43/killpg.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/compat-43/sethostid.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/compat-43/setpgrp.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/compat-43/setrgid.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/compat-43/setruid.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/compat-43/setruid.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/compat-43/sigcompat.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/compat-43/sigpause.2#2 delete .. //depot/projects/soc2008/konrad_collation/libc/compat-43/sigsetmask.2#2 delete .. //depot/projects/soc2008/konrad_collation/libc/compat-43/sigvec.2#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/README#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/Symbol.map#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/btree/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/btree/bt_close.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/btree/bt_conv.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/btree/bt_debug.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/btree/bt_delete.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/btree/bt_get.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/btree/bt_open.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/btree/bt_overflow.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/btree/bt_page.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/btree/bt_put.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/btree/bt_search.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/btree/bt_seq.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/btree/bt_split.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/btree/bt_utils.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/btree/btree.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/btree/extern.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/changelog#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/db/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/db/db.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/docs/hash.usenix.ps#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/docs/libtp.usenix.ps#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/hash/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/hash/README#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/hash/extern.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/hash/hash.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/hash/hash.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/hash/hash_bigkey.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/hash/hash_buf.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/hash/hash_func.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/hash/hash_log2.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/hash/hash_page.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/hash/ndbm.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/hash/page.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/man/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/man/btree.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/man/dbm.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/man/dbopen.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/man/hash.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/man/mpool.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/man/recno.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/mpool/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/mpool/README#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/mpool/mpool.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/mpool/mpool.libtp#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/recno/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/recno/extern.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/recno/rec_close.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/recno/rec_delete.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/recno/rec_get.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/recno/rec_open.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/recno/rec_put.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/recno/rec_search.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/recno/rec_seq.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/recno/rec_utils.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/recno/recno.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/test/Makefile#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/test/README#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/test/btree.tests/main.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/test/dbtest.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/test/hash.tests/driver2.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/test/hash.tests/makedb.sh#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/test/hash.tests/tcreat3.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/test/hash.tests/tdel.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/test/hash.tests/testit#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/test/hash.tests/thash4.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/test/hash.tests/tread2.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/test/hash.tests/tseq.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/test/hash.tests/tverify.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/db/test/run.test#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gdtoa/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gdtoa/Symbol.map#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gdtoa/_hdtoa.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gdtoa/_ldtoa.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gdtoa/glue.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gdtoa/machdep_ldisQ.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gdtoa/machdep_ldisd.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gdtoa/machdep_ldisx.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/Symbol.map#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/__getosreldate.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/__xuname.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/_pthread_stubs.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/_rand48.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/_spinlock_stub.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/_thread_init.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/alarm.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/alarm.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/arc4random.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/arc4random.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/assert.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/basename.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/basename.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/check_utility_compat.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/check_utility_compat.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/clock.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/clock.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/closedir.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/confstr.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/confstr.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/crypt.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/ctermid.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/ctermid.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/daemon.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/daemon.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/devname.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/devname.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/directory.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/dirname.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/dirname.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/disklabel.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/dladdr.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/dlfcn.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/dlfunc.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/dlinfo.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/dllockinit.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/dlopen.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/drand48.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/erand48.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/err.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/err.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/errlst.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/errno.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/exec.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/exec.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/fmtcheck.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/fmtcheck.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/fmtmsg.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/fmtmsg.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/fnmatch.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/fnmatch.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/fpclassify.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/fpclassify.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/frexp.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/frexp.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/fstab.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/ftok.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/ftok.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/fts-compat.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/fts-compat.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/fts.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/fts.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/ftw.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/ftw.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getbootfile.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getbootfile.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getbsize.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getbsize.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getcap.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getcap.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getcontext.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getcwd.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getcwd.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getdiskbyname.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getdomainname.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getdomainname.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getfsent.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getgrent.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getgrent.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getgrouplist.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getgrouplist.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/gethostname.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/gethostname.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getloadavg.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getloadavg.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getlogin.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getmntinfo.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getmntinfo.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getnetgrent.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getnetgrent.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getosreldate.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getosreldate.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getpagesize.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getpagesize.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getpass.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getpeereid.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getpeereid.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getprogname.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getprogname.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getpwent.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getpwent.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getttyent.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getttyent.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getusershell.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getusershell.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getvfsbyname.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/getvfsbyname.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/glob.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/glob.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/initgroups.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/initgroups.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/isatty.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/isgreater.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/isinf.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/isnan.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/jrand48.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/lcong48.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/ldexp.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/ldexp.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/lockf.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/lockf.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/lrand48.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/makecontext.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/modf.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/mrand48.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/msgctl.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/msgget.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/msgrcv.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/msgsnd.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/nftw.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/nice.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/nice.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/nlist.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/nlist.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/nrand48.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/opendir.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/pause.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/pause.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/pmadvise.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/popen.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/popen.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/pselect.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/pselect.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/psignal.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/psignal.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/pw_scan.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/pw_scan.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/pwcache.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/pwcache.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/raise.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/raise.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/rand48.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/rand48.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/readdir.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/readpassphrase.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/readpassphrase.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/rewinddir.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/rfork_thread.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/scandir.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/scandir.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/seed48.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/seekdir.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/sem.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/sem_destroy.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/sem_getvalue.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/sem_init.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/sem_open.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/sem_post.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/sem_wait.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/semctl.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/setdomainname.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/sethostname.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/setjmp.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/setjmperr.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/setmode.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/setmode.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/setproctitle.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/setproctitle.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/setprogname.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/siginterrupt.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/siginterrupt.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/siglist.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/signal.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/signal.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/sigsetops.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/sigsetops.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/sleep.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/sleep.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/srand48.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/statvfs.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/statvfs.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/stringlist.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/stringlist.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/strtofflags.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/strtofflags.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/swapcontext.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/sysconf.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/sysconf.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/sysctl.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/sysctl.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/sysctlbyname.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/sysctlnametomib.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/syslog.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/syslog.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/tcgetpgrp.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/tcsendbreak.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/tcsetattr.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/tcsetpgrp.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/telldir.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/telldir.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/termios.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/time.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/time.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/times.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/times.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/timezone.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/timezone.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/tls.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/ttyname.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/ttyname.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/ttyslot.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/tzset.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/ualarm.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/ualarm.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/ucontext.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/ulimit.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/ulimit.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/uname.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/uname.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/unvis.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/unvis.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/usleep.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/usleep.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/utime.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/utime.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/valloc.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/valloc.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/vis.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/vis.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/wait.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/wait3.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/waitpid.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/wordexp.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/wordexp.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gmon/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gmon/Symbol.map#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gmon/gmon.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gmon/mcount.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gmon/moncontrol.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/SYS.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/Symbol.map#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/_fpmath.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/arith.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/gd_qnan.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/_ctx_start.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/_set_tp.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/_setjmp.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/fabs.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/flt_rounds.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/infinity.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/ldexp.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/makecontext.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/modf.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/rfork_thread.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/setjmp.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/signalcontext.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/sigsetjmp.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/stdlib/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/stdlib/abs.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/stdlib/div.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/stdlib/labs.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/stdlib/ldiv.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/string/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/string/bcmp.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/string/bcopy.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/string/bzero.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/string/ffs.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/string/index.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/string/memchr.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/string/memcmp.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/string/memcpy.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/string/memmove.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/string/memset.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/string/rindex.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/string/strcat.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/string/strchr.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/string/strcmp.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/string/strcpy.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/string/strlen.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/string/strncmp.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/string/strrchr.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/string/swab.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/string/wcschr.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/string/wcscmp.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/string/wcslen.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/string/wmemchr.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/Ovfork.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/brk.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/cerror.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/exect.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/getcontext.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_clr_watch.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_get_fsbase.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_get_gsbase.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_get_ioperm.2#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_get_ioperm.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_get_ldt.2#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_get_ldt.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_set_fsbase.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_set_gsbase.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_set_ioperm.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_set_ldt.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_set_watch.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_set_watch.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_vm86.2#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_vm86.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/pipe.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/ptrace.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/reboot.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/sbrk.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/setlogin.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/sigreturn.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/syscall.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/SYS.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/Symbol.map#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/_fpmath.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/arith.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/gd_qnan.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/__divdf3.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/__divdi3.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/__divsf3.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/__divsi3.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/__moddi3.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/__modsi3.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/__udivdi3.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/__udivsi3.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/__umoddi3.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/__umodsi3.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/_mcount.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/_set_tp.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/_setjmp.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/fabs.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/flt_rounds.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/fpgetmask.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/fpgetround.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/fpsetmask.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/fpsetround.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/infinity.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/makecontext.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/modf.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/setjmp.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/signalcontext.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/sigsetjmp.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/unwind.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/stdlib/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/string/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/string/bcopy.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/string/bzero.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/string/ffs.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/string/memcpy.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/string/memmove.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/sys/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/sys/Ovfork.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/sys/brk.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/sys/cerror.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/sys/exect.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/sys/fork.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/sys/getcontext.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/sys/pipe.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/sys/ptrace.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/sys/sbrk.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/sys/setlogin.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/sys/sigreturn.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/ia64/sys/swapcontext.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/include/fpmath.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/include/isc/eventlib.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/include/isc/list.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/include/libc_private.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/include/namespace.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/include/nscache.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/include/nscachedcli.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/include/nss_tls.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/include/port_after.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/include/port_before.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/include/reentrant.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/include/resolv_mt.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/include/spinlock.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/include/un-namespace.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/inet/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/inet/Symbol.map#2 delete .. //depot/projects/soc2008/konrad_collation/libc/inet/inet_addr.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/inet/inet_cidr_ntop.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/inet/inet_cidr_pton.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/inet/inet_lnaof.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/inet/inet_makeaddr.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/inet/inet_net_ntop.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/inet/inet_net_pton.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/inet/inet_neta.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/inet/inet_netof.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/inet/inet_network.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/inet/inet_ntoa.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/inet/inet_ntop.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/inet/inet_pton.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/inet/nsap_addr.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/isc/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/isc/ev_streams.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/isc/ev_timers.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/isc/eventlib_p.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/Symbol.map#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/big5.5#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/big5.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/btowc.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/btowc.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/collate.c#2 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/collate.h#1 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/collcmp.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/ctype.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/digittoint.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/euc.5#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/euc.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/fix_grouping.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/gb18030.5#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/gb18030.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/gb2312.5#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/gb2312.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/gbk.5#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/gbk.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/isalnum.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/isalpha.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/isascii.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/isblank.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/iscntrl.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/isctype.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/isdigit.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/isgraph.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/isideogram.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/islower.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/isphonogram.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/isprint.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/ispunct.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/isrune.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/isspace.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/isspecial.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/isupper.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/iswalnum.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/iswctype.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/isxdigit.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/ldpart.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/ldpart.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/lmessages.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/lmessages.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/lmonetary.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/lmonetary.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/lnumeric.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/lnumeric.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/localeconv.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/localeconv.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/mblen.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/mblen.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/mblocal.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/mbrlen.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/mbrlen.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/mbrtowc.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/mbrtowc.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/mbsinit.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/mbsinit.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/mbsnrtowcs.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/mbsrtowcs.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/mbsrtowcs.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/mbstowcs.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/mbstowcs.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/mbtowc.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/mbtowc.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/mskanji.5#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/mskanji.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/multibyte.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/nextwctype.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/nextwctype.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/nl_langinfo.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/nl_langinfo.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/nomacros.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/none.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/rpmatch.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/rpmatch.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/rune.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/runefile.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/runetype.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/setlocale.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/setlocale.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/setlocale.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/setrunelocale.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/table.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/toascii.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/tolower.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/tolower.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/toupper.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/toupper.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/towlower.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/towupper.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/utf8.5#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/utf8.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/wcrtomb.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/wcrtomb.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/wcsftime.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/wcsftime.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/wcsnrtombs.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/wcsrtombs.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/wcsrtombs.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/wcstod.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/wcstod.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/wcstof.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/wcstoimax.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/wcstol.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/wcstol.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/wcstold.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/wcstoll.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/wcstombs.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/wcstombs.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/wcstoul.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/wcstoull.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/wcstoumax.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/wctob.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/wctomb.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/wctomb.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/wctrans.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/wctrans.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/wctype.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/wctype.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/wcwidth.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/wcwidth.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/nameser/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/nameser/Symbol.map#2 delete .. //depot/projects/soc2008/konrad_collation/libc/nameser/ns_name.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/nameser/ns_netint.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/nameser/ns_parse.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/nameser/ns_print.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/nameser/ns_samedomain.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/nameser/ns_ttl.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/Symbol.map#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/base64.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/byteorder.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/ether_addr.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/ethers.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/eui64.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/eui64.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/gai_strerror.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/gai_strerror.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/getaddrinfo.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/getaddrinfo.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/gethostbydns.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/gethostbyht.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/gethostbyname.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/gethostbynis.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/gethostnamadr.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/getifaddrs.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/getifaddrs.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/getifmaddrs.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/getifmaddrs.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/getipnodebyname.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/getnameinfo.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/getnameinfo.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/getnetbydns.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/getnetbyht.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/getnetbynis.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/getnetent.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/getnetnamadr.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/getproto.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/getprotoent.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/getprotoent.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/getprotoname.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/getservent.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/getservent.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/hesiod.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/hesiod.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/if_indextoname.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/if_indextoname.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/if_nameindex.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/if_nametoindex.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/inet.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/inet6_opt_init.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/inet6_option_space.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/inet6_rth_space.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/inet6_rthdr_space.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/inet_net.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/ip6opt.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/linkaddr.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/linkaddr.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/map_v4v6.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/name6.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/netdb_private.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/nscache.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/nscachedcli.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/nsdispatch.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/nsdispatch.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/nslexer.l#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/nsparser.y#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/nss_backends.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/nss_compat.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/ntoh.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/rcmd.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/rcmd.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/rcmdsh.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/rcmdsh.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/recv.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/res_config.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/resolver.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/rthdr.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/sctp_bindx.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/sctp_connectx.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/sctp_freepaddrs.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/sctp_getaddrlen.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/sctp_getassocid.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/sctp_getpaddrs.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/sctp_opt_info.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/sctp_recvmsg.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/sctp_send.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/sctp_sendmsg.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/sctp_sys_calls.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/send.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/sockatmark.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/sockatmark.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/sourcefilter.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/sourcefilter.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/net/vars.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/nls/C.msg#2 delete .. //depot/projects/soc2008/konrad_collation/libc/nls/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/nls/Symbol.map#2 delete .. //depot/projects/soc2008/konrad_collation/libc/nls/catclose.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/nls/catgets.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/nls/catopen.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/nls/ko_KR.UTF-8.msg#2 delete .. //depot/projects/soc2008/konrad_collation/libc/nls/ko_KR.eucKR.msg#2 delete .. //depot/projects/soc2008/konrad_collation/libc/nls/msgcat.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/nls/pl_PL.ISO8859-2.msg#2 delete .. //depot/projects/soc2008/konrad_collation/libc/nls/ru_RU.KOI8-R.msg#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/Symbol.map#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_add_perm.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_calc_mask.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_calc_mask.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_clear_perms.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_copy.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_copy_entry.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_create_entry.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_delete.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_delete.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_delete_entry.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_delete_entry.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_delete_perm.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_dup.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_entry.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_free.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_free.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_from_text.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_from_text.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_get.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_get.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_get_entry.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_get_perm_np.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_get_permset.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_get_qualifier.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_get_tag_type.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_init.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_init.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_perm.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_set.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_set.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_set_permset.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_set_qualifier.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_set_tag_type.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_size.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_support.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_support.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_to_text.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_to_text.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_valid.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_valid.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/extattr.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/extattr.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/mac.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/mac.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/mac.conf.5#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/mac_exec.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/mac_free.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/mac_get.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/mac_get.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/mac_is_present.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/mac_prepare.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/mac_set.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/mac_set.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/mac_text.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/posix1e/posix1e.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/powerpc/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/powerpc/SYS.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/powerpc/Symbol.map#2 delete .. //depot/projects/soc2008/konrad_collation/libc/powerpc/_fpmath.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/powerpc/arith.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/powerpc/gd_qnan.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/powerpc/gen/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/powerpc/gen/_ctx_start.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/powerpc/gen/_set_tp.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/powerpc/gen/_setjmp.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/powerpc/gen/fabs.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/powerpc/gen/flt_rounds.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/powerpc/gen/fpgetmask.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/powerpc/gen/fpgetround.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/powerpc/gen/fpgetsticky.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/powerpc/gen/fpsetmask.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/powerpc/gen/fpsetround.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/powerpc/gen/infinity.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/powerpc/gen/makecontext.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/powerpc/gen/modf.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/powerpc/gen/setjmp.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/powerpc/gen/signalcontext.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/powerpc/gen/sigsetjmp.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/powerpc/gen/syncicache.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/powerpc/sys/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/powerpc/sys/brk.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/powerpc/sys/cerror.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/powerpc/sys/exect.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/powerpc/sys/pipe.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/powerpc/sys/ptrace.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/powerpc/sys/sbrk.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/powerpc/sys/setlogin.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/quad/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/quad/Symbol.map#2 delete .. //depot/projects/soc2008/konrad_collation/libc/quad/TESTS/Makefile#2 delete .. //depot/projects/soc2008/konrad_collation/libc/quad/TESTS/divrem.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/quad/TESTS/mul.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/quad/adddi3.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/quad/anddi3.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/quad/ashldi3.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/quad/ashrdi3.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/quad/cmpdi2.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/quad/divdi3.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/quad/fixdfdi.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/quad/fixsfdi.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/quad/fixunsdfdi.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/quad/fixunssfdi.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/quad/floatdidf.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/quad/floatdisf.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/quad/floatunsdidf.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/quad/iordi3.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/quad/lshldi3.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/quad/lshrdi3.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/quad/moddi3.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/quad/muldi3.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/quad/negdi2.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/quad/notdi2.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/quad/qdivrem.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/quad/quad.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/quad/subdi3.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/quad/ucmpdi2.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/quad/udivdi3.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/quad/umoddi3.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/quad/xordi3.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/regex/COPYRIGHT#2 delete .. //depot/projects/soc2008/konrad_collation/libc/regex/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/regex/Symbol.map#2 delete .. //depot/projects/soc2008/konrad_collation/libc/regex/WHATSNEW#2 delete .. //depot/projects/soc2008/konrad_collation/libc/regex/cname.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/regex/engine.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/regex/grot/Makefile#2 delete .. //depot/projects/soc2008/konrad_collation/libc/regex/grot/debug.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/regex/grot/main.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/regex/grot/mkh#2 delete .. //depot/projects/soc2008/konrad_collation/libc/regex/grot/split.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/regex/grot/tests#2 delete .. //depot/projects/soc2008/konrad_collation/libc/regex/re_format.7#2 delete .. //depot/projects/soc2008/konrad_collation/libc/regex/regcomp.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/regex/regerror.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/regex/regex.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/regex/regex2.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/regex/regexec.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/regex/regfree.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/regex/utils.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/resolv/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/resolv/Symbol.map#2 delete .. //depot/projects/soc2008/konrad_collation/libc/resolv/h_errno.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/resolv/herror.c#2 delete >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Aug 3 16:51:33 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6223D1065672; Sun, 3 Aug 2008 16:51:33 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 26685106566B for ; Sun, 3 Aug 2008 16:51:33 +0000 (UTC) (envelope-from konrad@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EF7BC8FC08 for ; Sun, 3 Aug 2008 16:51:32 +0000 (UTC) (envelope-from konrad@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m73GpWVl060048 for ; Sun, 3 Aug 2008 16:51:32 GMT (envelope-from konrad@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m73GpWVc060046 for perforce@freebsd.org; Sun, 3 Aug 2008 16:51:32 GMT (envelope-from konrad@FreeBSD.org) Date: Sun, 3 Aug 2008 16:51:32 GMT Message-Id: <200808031651.m73GpWVc060046@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to konrad@FreeBSD.org using -f From: Konrad Jankowski To: Perforce Change Reviews Cc: Subject: PERFORCE change 146540 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, 03 Aug 2008 16:51:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=146540 Change 146540 by konrad@vspredator on 2008/08/03 16:51:07 Again... Affected files ... .. //depot/projects/soc2008/konrad_collation/libc/locale/collate.c#3 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/collate.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/sys/ktrace.2#3 delete Differences ... From owner-p4-projects@FreeBSD.ORG Sun Aug 3 17:00:42 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A2C2F1065675; Sun, 3 Aug 2008 17:00:42 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 66ED9106564A for ; Sun, 3 Aug 2008 17:00:42 +0000 (UTC) (envelope-from konrad@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 54D178FC18 for ; Sun, 3 Aug 2008 17:00:42 +0000 (UTC) (envelope-from konrad@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m73H0glm061891 for ; Sun, 3 Aug 2008 17:00:42 GMT (envelope-from konrad@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m73H0gFY061889 for perforce@freebsd.org; Sun, 3 Aug 2008 17:00:42 GMT (envelope-from konrad@FreeBSD.org) Date: Sun, 3 Aug 2008 17:00:42 GMT Message-Id: <200808031700.m73H0gFY061889@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to konrad@FreeBSD.org using -f From: Konrad Jankowski To: Perforce Change Reviews Cc: Subject: PERFORCE change 146541 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, 03 Aug 2008 17:00:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=146541 Change 146541 by konrad@vspredator on 2008/08/03 16:59:51 Cleanup. Affected files ... .. //depot/projects/soc2008/konrad_collation/libc/gdtoa/_hldtoa.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/feature_present.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/feature_present.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/posix_spawn.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/posix_spawn.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/posix_spawn_file_actions_addopen.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/posix_spawn_file_actions_init.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/posix_spawnattr_getflags.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/posix_spawnattr_getpgroup.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/posix_spawnattr_getschedparam.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/posix_spawnattr_getschedpolicy.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/posix_spawnattr_getsigdefault.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/posix_spawnattr_getsigmask.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/posix_spawnattr_init.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/sem_timedwait.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/gen/tcgetsid.3#2 delete .. //depot/projects/soc2008/konrad_collation/libc/locale/ascii.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/SYS.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/Symbol.map#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/_fpmath.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/arith.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/gd_qnan.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/gdtoa/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/gdtoa/arith.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/_set_tp.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/_setjmp.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/fabs.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/fabs.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/flt_rounds.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/fpgetmask.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/fpgetround.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/fpgetsticky.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/fpsetmask.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/fpsetround.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/fpsetsticky.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/infinity.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/ldexp.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/longjmp.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/makecontext.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/modf.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/modf.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/setjmp.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/signalcontext.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/sigsetjmp.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/net/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/net/htonl.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/net/htons.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/net/ntohl.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/net/ntohs.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/softfloat/milieu.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/softfloat/mips-gcc.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/softfloat/softfloat.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/stdlib/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/string/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/string/bcmp.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/string/bcopy.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/string/bzero.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/string/ffs.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/string/index.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/string/memcpy.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/string/memmove.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/string/rindex.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/string/strcmp.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/string/strlen.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/sys/Makefile.inc#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/sys/Ovfork.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/sys/brk.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/sys/cerror.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/sys/exect.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/sys/fork.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/sys/pipe.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/sys/ptrace.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/sys/sbrk.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/sys/shmat.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/mips/sys/syscall.S#2 delete .. //depot/projects/soc2008/konrad_collation/libc/powerpc/softfloat/milieu.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/powerpc/softfloat/powerpc-gcc.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/powerpc/softfloat/softfloat.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/stdio/printf-pos.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/stdio/printflocal.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/stdlib/rb.h#2 delete .. //depot/projects/soc2008/konrad_collation/libc/string/memrchr.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/sys/cpuset.2#2 delete .. //depot/projects/soc2008/konrad_collation/libc/sys/cpuset_getaffinity.2#2 delete .. //depot/projects/soc2008/konrad_collation/libc/sys/fcntl.c#2 delete .. //depot/projects/soc2008/konrad_collation/libc/sys/setfib.2#2 delete .. //depot/projects/soc2008/konrad_collation/libc/sys/shm_open.2#2 delete Differences ... From owner-p4-projects@FreeBSD.ORG Sun Aug 3 17:37:20 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DA1DD106567D; Sun, 3 Aug 2008 17:37:19 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 95AB5106567A for ; Sun, 3 Aug 2008 17:37:19 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 84DDD8FC14 for ; Sun, 3 Aug 2008 17:37:19 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m73HbJqx065924 for ; Sun, 3 Aug 2008 17:37:19 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m73HbJO8065922 for perforce@freebsd.org; Sun, 3 Aug 2008 17:37:19 GMT (envelope-from ed@FreeBSD.org) Date: Sun, 3 Aug 2008 17:37:19 GMT Message-Id: <200808031737.m73HbJO8065922@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 146544 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, 03 Aug 2008 17:37:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=146544 Change 146544 by ed@ed_flippo on 2008/08/03 17:36:53 Add a counter to store the number of null modem devices. Affected files ... .. //depot/projects/mpsafetty/sys/dev/nmdm/nmdm.c#4 edit Differences ... ==== //depot/projects/mpsafetty/sys/dev/nmdm/nmdm.c#4 (text+ko) ==== @@ -93,12 +93,16 @@ struct mtx ns_mtx; }; +static int nmdm_count = 0; + static struct nmdmsoftc * nmdm_alloc(unsigned long unit, struct ucred *cr) { struct nmdmsoftc *ns; struct tty *tp; + atomic_add_acq_int(&nmdm_count, 1); + ns = malloc(sizeof(*ns), M_NMDM, M_WAITOK|M_ZERO); mtx_init(&ns->ns_mtx, "nmdm", NULL, MTX_DEF); @@ -344,8 +348,9 @@ break; case MOD_UNLOAD: + if (nmdm_count != 0) + return (EBUSY); EVENTHANDLER_DEREGISTER(dev_clone, tag); - /* XXX: track counter! */ break; default: From owner-p4-projects@FreeBSD.ORG Sun Aug 3 17:57:40 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A727D1065673; Sun, 3 Aug 2008 17:57:40 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6855F1065671 for ; Sun, 3 Aug 2008 17:57:40 +0000 (UTC) (envelope-from konrad@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 548778FC1D for ; Sun, 3 Aug 2008 17:57:40 +0000 (UTC) (envelope-from konrad@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m73HveRb067509 for ; Sun, 3 Aug 2008 17:57:40 GMT (envelope-from konrad@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m73HvenE067507 for perforce@freebsd.org; Sun, 3 Aug 2008 17:57:40 GMT (envelope-from konrad@FreeBSD.org) Date: Sun, 3 Aug 2008 17:57:40 GMT Message-Id: <200808031757.m73HvenE067507@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to konrad@FreeBSD.org using -f From: Konrad Jankowski To: Perforce Change Reviews Cc: Subject: PERFORCE change 146545 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, 03 Aug 2008 17:57:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=146545 Change 146545 by konrad@vspredator on 2008/08/03 17:56:53 Clean libc... again. Affected files ... .. //depot/projects/soc2008/konrad_collation/libc/Makefile#3 branch .. //depot/projects/soc2008/konrad_collation/libc/Versions.def#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/SYS.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/Symbol.map#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/_fpmath.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/arith.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/gd_qnan.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/_set_tp.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/_setjmp.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/fabs.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/flt_rounds.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/fpgetmask.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/fpgetprec.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/fpgetround.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/fpgetsticky.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/fpsetmask.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/fpsetprec.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/fpsetround.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/infinity.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/ldexp.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/makecontext.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/modf.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/rfork_thread.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/setjmp.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/signalcontext.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/sigsetjmp.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/stdlib/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/stdlib/div.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/stdlib/ldiv.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/stdlib/lldiv.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/string/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/string/bcmp.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/string/bcopy.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/string/bzero.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/string/memcmp.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/string/memcpy.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/string/memmove.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/string/memset.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/string/strcat.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/string/strcmp.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/string/strcpy.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/amd64_get_fsbase.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/amd64_get_gsbase.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/amd64_set_fsbase.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/amd64_set_gsbase.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/brk.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/cerror.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/exect.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/getcontext.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/pipe.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/ptrace.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/reboot.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/sbrk.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/setlogin.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/sigreturn.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/vfork.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/SYS.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/Symbol.map#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/_fpmath.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/arith.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/gd_qnan.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/gen/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/gen/_ctx_start.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/gen/_set_tp.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/gen/_setjmp.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/gen/alloca.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/gen/divsi3.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/gen/fabs.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/gen/infinity.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/gen/makecontext.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/gen/modf.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/gen/setjmp.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/gen/signalcontext.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/gen/sigsetjmp.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/softfloat/arm-gcc.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/softfloat/milieu.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/softfloat/softfloat.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/stdlib/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/string/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/string/bcopy.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/string/bzero.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/string/ffs.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/string/memcmp.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/string/memcpy.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/string/memcpy_arm.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/string/memcpy_xscale.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/string/memmove.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/string/memset.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/string/strcmp.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/string/strlen.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/string/strncmp.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/sys/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/sys/Ovfork.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/sys/brk.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/sys/cerror.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/sys/fork.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/sys/pipe.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/sys/ptrace.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/sys/sbrk.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/sys/shmat.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/sys/sigreturn.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/arm/sys/syscall.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/compat-43/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/compat-43/Symbol.map#3 branch .. //depot/projects/soc2008/konrad_collation/libc/compat-43/creat.2#3 branch .. //depot/projects/soc2008/konrad_collation/libc/compat-43/creat.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/compat-43/gethostid.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/compat-43/gethostid.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/compat-43/getwd.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/compat-43/killpg.2#3 branch .. //depot/projects/soc2008/konrad_collation/libc/compat-43/killpg.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/compat-43/sethostid.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/compat-43/setpgrp.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/compat-43/setrgid.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/compat-43/setruid.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/compat-43/setruid.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/compat-43/sigcompat.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/compat-43/sigpause.2#3 branch .. //depot/projects/soc2008/konrad_collation/libc/compat-43/sigsetmask.2#3 branch .. //depot/projects/soc2008/konrad_collation/libc/compat-43/sigvec.2#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/README#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/Symbol.map#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/btree/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/btree/bt_close.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/btree/bt_conv.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/btree/bt_debug.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/btree/bt_delete.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/btree/bt_get.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/btree/bt_open.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/btree/bt_overflow.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/btree/bt_page.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/btree/bt_put.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/btree/bt_search.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/btree/bt_seq.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/btree/bt_split.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/btree/bt_utils.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/btree/btree.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/btree/extern.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/changelog#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/db/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/db/db.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/docs/hash.usenix.ps#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/docs/libtp.usenix.ps#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/hash/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/hash/README#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/hash/extern.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/hash/hash.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/hash/hash.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/hash/hash_bigkey.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/hash/hash_buf.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/hash/hash_func.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/hash/hash_log2.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/hash/hash_page.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/hash/ndbm.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/hash/page.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/man/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/man/btree.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/man/dbm.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/man/dbopen.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/man/hash.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/man/mpool.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/man/recno.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/mpool/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/mpool/README#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/mpool/mpool.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/mpool/mpool.libtp#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/recno/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/recno/extern.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/recno/rec_close.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/recno/rec_delete.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/recno/rec_get.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/recno/rec_open.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/recno/rec_put.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/recno/rec_search.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/recno/rec_seq.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/recno/rec_utils.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/recno/recno.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/test/Makefile#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/test/README#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/test/btree.tests/main.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/test/dbtest.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/test/hash.tests/driver2.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/test/hash.tests/makedb.sh#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/test/hash.tests/tcreat3.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/test/hash.tests/tdel.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/test/hash.tests/testit#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/test/hash.tests/thash4.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/test/hash.tests/tread2.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/test/hash.tests/tseq.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/test/hash.tests/tverify.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/db/test/run.test#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gdtoa/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gdtoa/Symbol.map#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gdtoa/_hdtoa.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gdtoa/_hldtoa.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gdtoa/_ldtoa.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gdtoa/glue.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gdtoa/machdep_ldisQ.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gdtoa/machdep_ldisd.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gdtoa/machdep_ldisx.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/Symbol.map#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/__getosreldate.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/__xuname.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/_pthread_stubs.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/_rand48.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/_spinlock_stub.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/_thread_init.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/alarm.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/alarm.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/arc4random.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/arc4random.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/assert.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/basename.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/basename.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/check_utility_compat.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/check_utility_compat.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/clock.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/clock.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/closedir.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/confstr.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/confstr.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/crypt.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/ctermid.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/ctermid.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/daemon.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/daemon.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/devname.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/devname.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/directory.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/dirname.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/dirname.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/disklabel.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/dladdr.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/dlfcn.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/dlfunc.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/dlinfo.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/dllockinit.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/dlopen.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/drand48.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/erand48.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/err.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/err.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/errlst.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/errno.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/exec.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/exec.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/feature_present.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/feature_present.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/fmtcheck.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/fmtcheck.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/fmtmsg.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/fmtmsg.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/fnmatch.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/fnmatch.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/fpclassify.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/fpclassify.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/frexp.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/frexp.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/fstab.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/ftok.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/ftok.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/fts-compat.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/fts-compat.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/fts.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/fts.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/ftw.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/ftw.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getbootfile.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getbootfile.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getbsize.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getbsize.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getcap.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getcap.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getcontext.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getcwd.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getcwd.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getdiskbyname.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getdomainname.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getdomainname.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getfsent.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getgrent.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getgrent.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getgrouplist.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getgrouplist.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/gethostname.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/gethostname.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getloadavg.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getloadavg.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getlogin.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getmntinfo.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getmntinfo.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getnetgrent.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getnetgrent.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getosreldate.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getosreldate.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getpagesize.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getpagesize.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getpass.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getpeereid.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getpeereid.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getprogname.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getprogname.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getpwent.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getpwent.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getttyent.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getttyent.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getusershell.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getusershell.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getvfsbyname.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/getvfsbyname.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/glob.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/glob.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/initgroups.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/initgroups.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/isatty.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/isgreater.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/isinf.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/isnan.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/jrand48.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/lcong48.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/ldexp.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/ldexp.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/lockf.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/lockf.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/lrand48.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/makecontext.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/modf.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/mrand48.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/msgctl.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/msgget.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/msgrcv.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/msgsnd.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/nftw.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/nice.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/nice.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/nlist.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/nlist.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/nrand48.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/opendir.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/pause.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/pause.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/pmadvise.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/popen.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/popen.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/posix_spawn.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/posix_spawn.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/posix_spawn_file_actions_addopen.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/posix_spawn_file_actions_init.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/posix_spawnattr_getflags.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/posix_spawnattr_getpgroup.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/posix_spawnattr_getschedparam.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/posix_spawnattr_getschedpolicy.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/posix_spawnattr_getsigdefault.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/posix_spawnattr_getsigmask.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/posix_spawnattr_init.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/pselect.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/pselect.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/psignal.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/psignal.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/pw_scan.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/pw_scan.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/pwcache.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/pwcache.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/raise.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/raise.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/rand48.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/rand48.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/readdir.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/readpassphrase.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/readpassphrase.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/rewinddir.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/rfork_thread.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/scandir.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/scandir.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/seed48.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/seekdir.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/sem.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/sem_destroy.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/sem_getvalue.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/sem_init.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/sem_open.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/sem_post.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/sem_timedwait.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/sem_wait.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/semctl.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/setdomainname.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/sethostname.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/setjmp.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/setjmperr.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/setmode.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/setmode.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/setproctitle.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/setproctitle.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/setprogname.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/siginterrupt.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/siginterrupt.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/siglist.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/signal.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/signal.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/sigsetops.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/sigsetops.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/sleep.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/sleep.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/srand48.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/statvfs.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/statvfs.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/stringlist.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/stringlist.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/strtofflags.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/strtofflags.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/swapcontext.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/sysconf.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/sysconf.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/sysctl.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/sysctl.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/sysctlbyname.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/sysctlnametomib.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/syslog.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/syslog.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/tcgetpgrp.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/tcgetsid.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/tcsendbreak.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/tcsetattr.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/tcsetpgrp.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/telldir.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/telldir.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/termios.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/time.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/time.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/times.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/times.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/timezone.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/timezone.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/tls.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/ttyname.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/ttyname.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/ttyslot.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/tzset.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/ualarm.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/ualarm.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/ucontext.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/ulimit.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/ulimit.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/uname.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/uname.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/unvis.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/unvis.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/usleep.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/usleep.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/utime.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/utime.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/valloc.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/valloc.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/vis.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/vis.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/wait.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/wait3.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/waitpid.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/wordexp.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gen/wordexp.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gmon/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gmon/Symbol.map#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gmon/gmon.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gmon/mcount.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/gmon/moncontrol.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/SYS.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/Symbol.map#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/_fpmath.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/arith.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/gd_qnan.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/_ctx_start.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/_set_tp.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/_setjmp.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/fabs.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/flt_rounds.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/infinity.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/ldexp.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/makecontext.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/modf.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/rfork_thread.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/setjmp.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/signalcontext.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/sigsetjmp.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/stdlib/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/stdlib/abs.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/stdlib/div.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/stdlib/labs.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/stdlib/ldiv.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/string/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/string/bcmp.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/string/bcopy.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/string/bzero.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/string/ffs.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/string/index.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/string/memchr.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/string/memcmp.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/string/memcpy.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/string/memmove.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/string/memset.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/string/rindex.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/string/strcat.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/string/strchr.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/string/strcmp.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/string/strcpy.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/string/strlen.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/string/strncmp.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/string/strrchr.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/string/swab.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/string/wcschr.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/string/wcscmp.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/string/wcslen.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/string/wmemchr.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/Ovfork.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/brk.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/cerror.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/exect.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/getcontext.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_clr_watch.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_get_fsbase.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_get_gsbase.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_get_ioperm.2#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_get_ioperm.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_get_ldt.2#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_get_ldt.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_set_fsbase.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_set_gsbase.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_set_ioperm.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_set_ldt.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_set_watch.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_set_watch.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_vm86.2#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_vm86.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/pipe.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/ptrace.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/reboot.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/sbrk.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/setlogin.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/sigreturn.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/syscall.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/SYS.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/Symbol.map#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/_fpmath.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/arith.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/gd_qnan.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/__divdf3.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/__divdi3.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/__divsf3.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/__divsi3.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/__moddi3.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/__modsi3.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/__udivdi3.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/__udivsi3.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/__umoddi3.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/__umodsi3.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/_mcount.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/_set_tp.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/_setjmp.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/fabs.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/flt_rounds.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/fpgetmask.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/fpgetround.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/fpsetmask.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/fpsetround.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/infinity.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/makecontext.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/modf.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/setjmp.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/signalcontext.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/sigsetjmp.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/unwind.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/stdlib/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/string/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/string/bcopy.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/string/bzero.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/string/ffs.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/string/memcpy.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/string/memmove.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/sys/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/sys/Ovfork.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/sys/brk.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/sys/cerror.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/sys/exect.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/sys/fork.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/sys/getcontext.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/sys/pipe.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/sys/ptrace.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/sys/sbrk.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/sys/setlogin.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/sys/sigreturn.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/ia64/sys/swapcontext.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/include/fpmath.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/include/isc/eventlib.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/include/isc/list.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/include/libc_private.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/include/namespace.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/include/nscache.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/include/nscachedcli.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/include/nss_tls.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/include/port_after.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/include/port_before.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/include/reentrant.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/include/resolv_mt.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/include/spinlock.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/include/un-namespace.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/inet/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/inet/Symbol.map#3 branch .. //depot/projects/soc2008/konrad_collation/libc/inet/inet_addr.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/inet/inet_cidr_ntop.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/inet/inet_cidr_pton.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/inet/inet_lnaof.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/inet/inet_makeaddr.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/inet/inet_net_ntop.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/inet/inet_net_pton.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/inet/inet_neta.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/inet/inet_netof.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/inet/inet_network.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/inet/inet_ntoa.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/inet/inet_ntop.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/inet/inet_pton.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/inet/nsap_addr.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/isc/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/isc/ev_streams.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/isc/ev_timers.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/isc/eventlib_p.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/Symbol.map#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/ascii.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/big5.5#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/big5.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/btowc.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/btowc.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/collate.c#4 add .. //depot/projects/soc2008/konrad_collation/libc/locale/collate.h#3 add .. //depot/projects/soc2008/konrad_collation/libc/locale/collcmp.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/ctype.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/digittoint.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/euc.5#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/euc.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/fix_grouping.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/gb18030.5#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/gb18030.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/gb2312.5#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/gb2312.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/gbk.5#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/gbk.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/isalnum.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/isalpha.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/isascii.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/isblank.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/iscntrl.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/isctype.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/isdigit.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/isgraph.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/isideogram.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/islower.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/isphonogram.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/isprint.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/ispunct.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/isrune.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/isspace.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/isspecial.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/isupper.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/iswalnum.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/iswctype.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/isxdigit.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/ldpart.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/ldpart.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/lmessages.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/lmessages.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/lmonetary.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/lmonetary.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/lnumeric.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/lnumeric.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/localeconv.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/localeconv.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/mblen.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/mblen.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/mblocal.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/mbrlen.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/mbrlen.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/mbrtowc.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/mbrtowc.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/mbsinit.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/mbsinit.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/mbsnrtowcs.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/mbsrtowcs.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/mbsrtowcs.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/mbstowcs.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/mbstowcs.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/mbtowc.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/mbtowc.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/mskanji.5#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/mskanji.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/multibyte.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/nextwctype.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/nextwctype.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/nl_langinfo.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/nl_langinfo.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/nomacros.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/none.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/rpmatch.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/rpmatch.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/rune.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/runefile.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/runetype.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/setlocale.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/setlocale.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/setlocale.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/setrunelocale.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/table.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/toascii.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/tolower.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/tolower.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/toupper.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/toupper.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/towlower.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/towupper.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/utf8.5#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/utf8.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/wcrtomb.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/wcrtomb.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/wcsftime.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/wcsftime.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/wcsnrtombs.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/wcsrtombs.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/wcsrtombs.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/wcstod.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/wcstod.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/wcstof.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/wcstoimax.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/wcstol.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/wcstol.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/wcstold.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/wcstoll.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/wcstombs.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/wcstombs.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/wcstoul.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/wcstoull.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/wcstoumax.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/wctob.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/wctomb.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/wctomb.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/wctrans.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/wctrans.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/wctype.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/wctype.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/wcwidth.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/locale/wcwidth.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/SYS.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/Symbol.map#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/_fpmath.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/arith.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/gd_qnan.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/gdtoa/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/gdtoa/arith.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/_set_tp.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/_setjmp.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/fabs.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/fabs.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/flt_rounds.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/fpgetmask.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/fpgetround.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/fpgetsticky.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/fpsetmask.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/fpsetround.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/fpsetsticky.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/infinity.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/ldexp.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/longjmp.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/makecontext.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/modf.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/modf.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/setjmp.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/signalcontext.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/sigsetjmp.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/net/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/net/htonl.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/net/htons.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/net/ntohl.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/net/ntohs.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/softfloat/milieu.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/softfloat/mips-gcc.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/softfloat/softfloat.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/stdlib/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/string/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/string/bcmp.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/string/bcopy.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/string/bzero.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/string/ffs.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/string/index.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/string/memcpy.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/string/memmove.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/string/rindex.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/string/strcmp.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/string/strlen.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/sys/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/sys/Ovfork.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/sys/brk.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/sys/cerror.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/sys/exect.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/sys/fork.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/sys/pipe.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/sys/ptrace.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/sys/sbrk.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/sys/shmat.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/mips/sys/syscall.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/nameser/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/nameser/Symbol.map#3 branch .. //depot/projects/soc2008/konrad_collation/libc/nameser/ns_name.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/nameser/ns_netint.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/nameser/ns_parse.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/nameser/ns_print.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/nameser/ns_samedomain.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/nameser/ns_ttl.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/Symbol.map#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/base64.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/byteorder.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/ether_addr.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/ethers.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/eui64.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/eui64.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/gai_strerror.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/gai_strerror.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/getaddrinfo.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/getaddrinfo.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/gethostbydns.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/gethostbyht.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/gethostbyname.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/gethostbynis.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/gethostnamadr.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/getifaddrs.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/getifaddrs.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/getifmaddrs.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/getifmaddrs.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/getipnodebyname.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/getnameinfo.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/getnameinfo.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/getnetbydns.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/getnetbyht.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/getnetbynis.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/getnetent.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/getnetnamadr.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/getproto.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/getprotoent.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/getprotoent.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/getprotoname.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/getservent.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/getservent.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/hesiod.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/hesiod.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/if_indextoname.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/if_indextoname.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/if_nameindex.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/if_nametoindex.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/inet.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/inet6_opt_init.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/inet6_option_space.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/inet6_rth_space.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/inet6_rthdr_space.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/inet_net.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/ip6opt.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/linkaddr.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/linkaddr.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/map_v4v6.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/name6.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/netdb_private.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/nscache.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/nscachedcli.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/nsdispatch.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/nsdispatch.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/nslexer.l#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/nsparser.y#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/nss_backends.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/nss_compat.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/ntoh.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/rcmd.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/rcmd.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/rcmdsh.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/rcmdsh.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/recv.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/res_config.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/resolver.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/rthdr.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/sctp_bindx.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/sctp_connectx.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/sctp_freepaddrs.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/sctp_getaddrlen.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/sctp_getassocid.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/sctp_getpaddrs.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/sctp_opt_info.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/sctp_recvmsg.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/sctp_send.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/sctp_sendmsg.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/sctp_sys_calls.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/send.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/sockatmark.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/sockatmark.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/sourcefilter.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/sourcefilter.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/net/vars.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/nls/C.msg#3 branch .. //depot/projects/soc2008/konrad_collation/libc/nls/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/nls/Symbol.map#3 branch .. //depot/projects/soc2008/konrad_collation/libc/nls/catclose.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/nls/catgets.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/nls/catopen.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/nls/ko_KR.UTF-8.msg#3 branch .. //depot/projects/soc2008/konrad_collation/libc/nls/ko_KR.eucKR.msg#3 branch .. //depot/projects/soc2008/konrad_collation/libc/nls/msgcat.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/nls/pl_PL.ISO8859-2.msg#3 branch .. //depot/projects/soc2008/konrad_collation/libc/nls/ru_RU.KOI8-R.msg#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/Symbol.map#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_add_perm.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_calc_mask.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_calc_mask.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_clear_perms.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_copy.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_copy_entry.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_create_entry.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_delete.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_delete.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_delete_entry.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_delete_entry.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_delete_perm.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_dup.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_entry.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_free.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_free.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_from_text.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_from_text.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_get.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_get.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_get_entry.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_get_perm_np.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_get_permset.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_get_qualifier.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_get_tag_type.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_init.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_init.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_perm.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_set.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_set.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_set_permset.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_set_qualifier.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_set_tag_type.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_size.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_support.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_support.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_to_text.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_to_text.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_valid.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_valid.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/extattr.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/extattr.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/mac.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/mac.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/mac.conf.5#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/mac_exec.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/mac_free.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/mac_get.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/mac_get.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/mac_is_present.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/mac_prepare.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/mac_set.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/mac_set.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/mac_text.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/posix1e/posix1e.3#3 branch .. //depot/projects/soc2008/konrad_collation/libc/powerpc/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/powerpc/SYS.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/powerpc/Symbol.map#3 branch .. //depot/projects/soc2008/konrad_collation/libc/powerpc/_fpmath.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/powerpc/arith.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/powerpc/gd_qnan.h#3 branch .. //depot/projects/soc2008/konrad_collation/libc/powerpc/gen/Makefile.inc#3 branch .. //depot/projects/soc2008/konrad_collation/libc/powerpc/gen/_ctx_start.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/powerpc/gen/_set_tp.c#3 branch .. //depot/projects/soc2008/konrad_collation/libc/powerpc/gen/_setjmp.S#3 branch .. //depot/projects/soc2008/konrad_collation/libc/powerpc/gen/fabs.S#3 branch >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Aug 3 18:05:29 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 69AAE106566B; Sun, 3 Aug 2008 18:05:29 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2C7A01065676; Sun, 3 Aug 2008 18:05:29 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [209.31.154.42]) by mx1.freebsd.org (Postfix) with ESMTP id BEF338FC1C; Sun, 3 Aug 2008 18:05:28 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [209.31.154.41]) by cyrus.watson.org (Postfix) with ESMTP id 157CA46B46; Sun, 3 Aug 2008 13:46:38 -0400 (EDT) Date: Sun, 3 Aug 2008 18:46:38 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: Ed Schouten In-Reply-To: <200808031737.m73HbJO8065922@repoman.freebsd.org> Message-ID: References: <200808031737.m73HbJO8065922@repoman.freebsd.org> User-Agent: Alpine 1.10 (BSF 962 2008-03-14) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: Perforce Change Reviews Subject: Re: PERFORCE change 146544 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, 03 Aug 2008 18:05:29 -0000 On Sun, 3 Aug 2008, Ed Schouten wrote: > http://perforce.freebsd.org/chv.cgi?CH=146544 > > Change 146544 by ed@ed_flippo on 2008/08/03 17:36:53 > > Add a counter to store the number of null modem devices. I've seen similar constructs in lots of drivers, and it's basically an unsafe construct because the deregister is non-atomic with respect to the busy check. I wonder if, instead, we should use a mutex to protect the count, and set it to some value to deny future allocations, such as -1, once the ebusy check is past... Even that is unideal, though. Robert N M Watson Computer Laboratory University of Cambridge > > Affected files ... > > .. //depot/projects/mpsafetty/sys/dev/nmdm/nmdm.c#4 edit > > Differences ... > > ==== //depot/projects/mpsafetty/sys/dev/nmdm/nmdm.c#4 (text+ko) ==== > > @@ -93,12 +93,16 @@ > struct mtx ns_mtx; > }; > > +static int nmdm_count = 0; > + > static struct nmdmsoftc * > nmdm_alloc(unsigned long unit, struct ucred *cr) > { > struct nmdmsoftc *ns; > struct tty *tp; > > + atomic_add_acq_int(&nmdm_count, 1); > + > ns = malloc(sizeof(*ns), M_NMDM, M_WAITOK|M_ZERO); > mtx_init(&ns->ns_mtx, "nmdm", NULL, MTX_DEF); > > @@ -344,8 +348,9 @@ > break; > > case MOD_UNLOAD: > + if (nmdm_count != 0) > + return (EBUSY); > EVENTHANDLER_DEREGISTER(dev_clone, tag); > - /* XXX: track counter! */ > break; > > default: > From owner-p4-projects@FreeBSD.ORG Sun Aug 3 18:45:30 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A441D1065678; Sun, 3 Aug 2008 18:45:30 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 659301065675 for ; Sun, 3 Aug 2008 18:45:30 +0000 (UTC) (envelope-from konrad@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5178B8FC14 for ; Sun, 3 Aug 2008 18:45:30 +0000 (UTC) (envelope-from konrad@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m73IjU7L072590 for ; Sun, 3 Aug 2008 18:45:30 GMT (envelope-from konrad@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m73IjSse072588 for perforce@freebsd.org; Sun, 3 Aug 2008 18:45:28 GMT (envelope-from konrad@FreeBSD.org) Date: Sun, 3 Aug 2008 18:45:28 GMT Message-Id: <200808031845.m73IjSse072588@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to konrad@FreeBSD.org using -f From: Konrad Jankowski To: Perforce Change Reviews Cc: Subject: PERFORCE change 146549 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, 03 Aug 2008 18:45:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=146549 Change 146549 by konrad@vspredator on 2008/08/03 18:44:28 Finally, my deltas. UTF-8 collation should work now. Affected files ... .. //depot/projects/soc2008/konrad_collation/libc/Makefile#4 edit .. //depot/projects/soc2008/konrad_collation/libc/Versions.def#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/SYS.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/Symbol.map#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/_fpmath.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/arith.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/gd_qnan.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/_set_tp.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/_setjmp.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/fabs.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/flt_rounds.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/fpgetmask.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/fpgetprec.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/fpgetround.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/fpgetsticky.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/fpsetmask.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/fpsetprec.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/fpsetround.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/infinity.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/ldexp.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/makecontext.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/modf.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/rfork_thread.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/setjmp.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/signalcontext.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/gen/sigsetjmp.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/stdlib/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/stdlib/div.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/stdlib/ldiv.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/stdlib/lldiv.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/string/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/string/bcmp.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/string/bcopy.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/string/bzero.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/string/memcmp.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/string/memcpy.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/string/memmove.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/string/memset.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/string/strcat.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/string/strcmp.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/string/strcpy.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/amd64_get_fsbase.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/amd64_get_gsbase.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/amd64_set_fsbase.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/amd64_set_gsbase.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/brk.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/cerror.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/exect.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/getcontext.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/pipe.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/ptrace.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/reboot.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/sbrk.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/setlogin.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/sigreturn.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/amd64/sys/vfork.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/SYS.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/Symbol.map#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/_fpmath.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/arith.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/gd_qnan.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/gen/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/gen/_ctx_start.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/gen/_set_tp.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/gen/_setjmp.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/gen/alloca.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/gen/divsi3.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/gen/fabs.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/gen/infinity.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/gen/makecontext.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/gen/modf.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/gen/setjmp.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/gen/signalcontext.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/gen/sigsetjmp.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/softfloat/arm-gcc.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/softfloat/milieu.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/softfloat/softfloat.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/stdlib/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/string/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/string/bcopy.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/string/bzero.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/string/ffs.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/string/memcmp.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/string/memcpy.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/string/memcpy_arm.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/string/memcpy_xscale.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/string/memmove.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/string/memset.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/string/strcmp.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/string/strlen.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/string/strncmp.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/sys/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/sys/Ovfork.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/sys/brk.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/sys/cerror.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/sys/fork.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/sys/pipe.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/sys/ptrace.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/sys/sbrk.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/sys/shmat.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/sys/sigreturn.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/arm/sys/syscall.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/compat-43/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/compat-43/Symbol.map#4 edit .. //depot/projects/soc2008/konrad_collation/libc/compat-43/creat.2#4 edit .. //depot/projects/soc2008/konrad_collation/libc/compat-43/creat.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/compat-43/gethostid.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/compat-43/gethostid.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/compat-43/getwd.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/compat-43/killpg.2#4 edit .. //depot/projects/soc2008/konrad_collation/libc/compat-43/killpg.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/compat-43/sethostid.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/compat-43/setpgrp.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/compat-43/setrgid.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/compat-43/setruid.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/compat-43/setruid.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/compat-43/sigcompat.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/compat-43/sigpause.2#4 edit .. //depot/projects/soc2008/konrad_collation/libc/compat-43/sigsetmask.2#4 edit .. //depot/projects/soc2008/konrad_collation/libc/compat-43/sigvec.2#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/README#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/Symbol.map#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/btree/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/btree/bt_close.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/btree/bt_conv.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/btree/bt_debug.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/btree/bt_delete.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/btree/bt_get.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/btree/bt_open.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/btree/bt_overflow.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/btree/bt_page.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/btree/bt_put.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/btree/bt_search.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/btree/bt_seq.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/btree/bt_split.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/btree/bt_utils.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/btree/btree.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/btree/extern.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/changelog#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/db/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/db/db.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/docs/hash.usenix.ps#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/docs/libtp.usenix.ps#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/hash/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/hash/README#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/hash/extern.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/hash/hash.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/hash/hash.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/hash/hash_bigkey.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/hash/hash_buf.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/hash/hash_func.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/hash/hash_log2.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/hash/hash_page.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/hash/ndbm.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/hash/page.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/man/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/man/btree.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/man/dbm.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/man/dbopen.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/man/hash.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/man/mpool.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/man/recno.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/mpool/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/mpool/README#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/mpool/mpool.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/mpool/mpool.libtp#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/recno/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/recno/extern.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/recno/rec_close.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/recno/rec_delete.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/recno/rec_get.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/recno/rec_open.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/recno/rec_put.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/recno/rec_search.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/recno/rec_seq.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/recno/rec_utils.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/recno/recno.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/test/Makefile#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/test/README#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/test/btree.tests/main.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/test/dbtest.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/test/hash.tests/driver2.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/test/hash.tests/makedb.sh#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/test/hash.tests/tcreat3.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/test/hash.tests/tdel.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/test/hash.tests/testit#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/test/hash.tests/thash4.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/test/hash.tests/tread2.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/test/hash.tests/tseq.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/test/hash.tests/tverify.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/db/test/run.test#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gdtoa/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gdtoa/Symbol.map#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gdtoa/_hdtoa.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gdtoa/_hldtoa.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gdtoa/_ldtoa.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gdtoa/glue.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gdtoa/machdep_ldisQ.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gdtoa/machdep_ldisd.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gdtoa/machdep_ldisx.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/Symbol.map#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/__getosreldate.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/__xuname.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/_pthread_stubs.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/_rand48.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/_spinlock_stub.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/_thread_init.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/alarm.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/alarm.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/arc4random.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/arc4random.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/assert.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/basename.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/basename.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/check_utility_compat.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/check_utility_compat.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/clock.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/clock.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/closedir.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/confstr.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/confstr.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/crypt.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/ctermid.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/ctermid.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/daemon.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/daemon.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/devname.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/devname.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/directory.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/dirname.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/dirname.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/disklabel.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/dladdr.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/dlfcn.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/dlfunc.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/dlinfo.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/dllockinit.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/dlopen.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/drand48.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/erand48.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/err.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/err.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/errlst.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/errno.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/exec.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/exec.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/feature_present.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/feature_present.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/fmtcheck.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/fmtcheck.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/fmtmsg.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/fmtmsg.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/fnmatch.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/fnmatch.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/fpclassify.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/fpclassify.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/frexp.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/frexp.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/fstab.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/ftok.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/ftok.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/fts-compat.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/fts-compat.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/fts.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/fts.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/ftw.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/ftw.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getbootfile.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getbootfile.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getbsize.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getbsize.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getcap.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getcap.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getcontext.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getcwd.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getcwd.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getdiskbyname.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getdomainname.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getdomainname.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getfsent.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getgrent.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getgrent.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getgrouplist.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getgrouplist.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/gethostname.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/gethostname.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getloadavg.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getloadavg.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getlogin.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getmntinfo.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getmntinfo.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getnetgrent.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getnetgrent.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getosreldate.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getosreldate.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getpagesize.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getpagesize.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getpass.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getpeereid.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getpeereid.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getprogname.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getprogname.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getpwent.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getpwent.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getttyent.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getttyent.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getusershell.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getusershell.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getvfsbyname.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/getvfsbyname.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/glob.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/glob.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/initgroups.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/initgroups.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/isatty.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/isgreater.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/isinf.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/isnan.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/jrand48.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/lcong48.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/ldexp.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/ldexp.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/lockf.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/lockf.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/lrand48.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/makecontext.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/modf.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/mrand48.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/msgctl.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/msgget.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/msgrcv.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/msgsnd.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/nftw.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/nice.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/nice.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/nlist.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/nlist.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/nrand48.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/opendir.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/pause.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/pause.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/pmadvise.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/popen.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/popen.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/posix_spawn.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/posix_spawn.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/posix_spawn_file_actions_addopen.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/posix_spawn_file_actions_init.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/posix_spawnattr_getflags.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/posix_spawnattr_getpgroup.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/posix_spawnattr_getschedparam.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/posix_spawnattr_getschedpolicy.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/posix_spawnattr_getsigdefault.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/posix_spawnattr_getsigmask.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/posix_spawnattr_init.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/pselect.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/pselect.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/psignal.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/psignal.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/pw_scan.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/pw_scan.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/pwcache.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/pwcache.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/raise.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/raise.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/rand48.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/rand48.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/readdir.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/readpassphrase.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/readpassphrase.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/rewinddir.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/rfork_thread.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/scandir.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/scandir.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/seed48.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/seekdir.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/sem.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/sem_destroy.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/sem_getvalue.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/sem_init.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/sem_open.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/sem_post.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/sem_timedwait.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/sem_wait.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/semctl.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/setdomainname.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/sethostname.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/setjmp.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/setjmperr.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/setmode.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/setmode.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/setproctitle.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/setproctitle.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/setprogname.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/siginterrupt.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/siginterrupt.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/siglist.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/signal.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/signal.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/sigsetops.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/sigsetops.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/sleep.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/sleep.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/srand48.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/statvfs.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/statvfs.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/stringlist.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/stringlist.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/strtofflags.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/strtofflags.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/swapcontext.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/sysconf.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/sysconf.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/sysctl.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/sysctl.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/sysctlbyname.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/sysctlnametomib.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/syslog.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/syslog.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/tcgetpgrp.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/tcgetsid.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/tcsendbreak.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/tcsetattr.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/tcsetpgrp.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/telldir.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/telldir.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/termios.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/time.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/time.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/times.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/times.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/timezone.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/timezone.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/tls.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/ttyname.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/ttyname.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/ttyslot.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/tzset.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/ualarm.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/ualarm.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/ucontext.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/ulimit.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/ulimit.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/uname.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/uname.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/unvis.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/unvis.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/usleep.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/usleep.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/utime.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/utime.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/valloc.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/valloc.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/vis.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/vis.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/wait.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/wait3.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/waitpid.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/wordexp.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gen/wordexp.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gmon/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gmon/Symbol.map#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gmon/gmon.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gmon/mcount.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/gmon/moncontrol.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/SYS.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/Symbol.map#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/_fpmath.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/arith.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/gd_qnan.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/_ctx_start.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/_set_tp.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/_setjmp.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/fabs.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/flt_rounds.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/infinity.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/ldexp.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/makecontext.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/modf.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/rfork_thread.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/setjmp.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/signalcontext.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/gen/sigsetjmp.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/stdlib/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/stdlib/abs.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/stdlib/div.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/stdlib/labs.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/stdlib/ldiv.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/string/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/string/bcmp.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/string/bcopy.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/string/bzero.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/string/ffs.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/string/index.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/string/memchr.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/string/memcmp.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/string/memcpy.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/string/memmove.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/string/memset.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/string/rindex.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/string/strcat.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/string/strchr.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/string/strcmp.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/string/strcpy.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/string/strlen.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/string/strncmp.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/string/strrchr.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/string/swab.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/string/wcschr.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/string/wcscmp.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/string/wcslen.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/string/wmemchr.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/Ovfork.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/brk.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/cerror.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/exect.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/getcontext.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_clr_watch.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_get_fsbase.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_get_gsbase.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_get_ioperm.2#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_get_ioperm.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_get_ldt.2#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_get_ldt.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_set_fsbase.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_set_gsbase.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_set_ioperm.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_set_ldt.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_set_watch.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_set_watch.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_vm86.2#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/i386_vm86.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/pipe.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/ptrace.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/reboot.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/sbrk.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/setlogin.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/sigreturn.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/i386/sys/syscall.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/SYS.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/Symbol.map#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/_fpmath.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/arith.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/gd_qnan.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/__divdf3.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/__divdi3.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/__divsf3.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/__divsi3.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/__moddi3.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/__modsi3.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/__udivdi3.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/__udivsi3.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/__umoddi3.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/__umodsi3.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/_mcount.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/_set_tp.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/_setjmp.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/fabs.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/flt_rounds.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/fpgetmask.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/fpgetround.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/fpsetmask.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/fpsetround.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/infinity.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/makecontext.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/modf.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/setjmp.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/signalcontext.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/sigsetjmp.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/gen/unwind.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/stdlib/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/string/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/string/bcopy.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/string/bzero.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/string/ffs.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/string/memcpy.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/string/memmove.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/sys/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/sys/Ovfork.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/sys/brk.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/sys/cerror.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/sys/exect.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/sys/fork.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/sys/getcontext.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/sys/pipe.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/sys/ptrace.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/sys/sbrk.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/sys/setlogin.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/sys/sigreturn.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/ia64/sys/swapcontext.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/include/fpmath.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/include/isc/eventlib.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/include/isc/list.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/include/libc_private.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/include/namespace.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/include/nscache.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/include/nscachedcli.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/include/nss_tls.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/include/port_after.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/include/port_before.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/include/reentrant.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/include/resolv_mt.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/include/spinlock.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/include/un-namespace.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/inet/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/inet/Symbol.map#4 edit .. //depot/projects/soc2008/konrad_collation/libc/inet/inet_addr.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/inet/inet_cidr_ntop.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/inet/inet_cidr_pton.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/inet/inet_lnaof.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/inet/inet_makeaddr.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/inet/inet_net_ntop.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/inet/inet_net_pton.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/inet/inet_neta.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/inet/inet_netof.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/inet/inet_network.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/inet/inet_ntoa.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/inet/inet_ntop.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/inet/inet_pton.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/inet/nsap_addr.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/isc/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/isc/ev_streams.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/isc/ev_timers.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/isc/eventlib_p.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/Symbol.map#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/ascii.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/big5.5#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/big5.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/btowc.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/btowc.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/collate.c#5 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/collate.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/collcmp.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/ctype.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/digittoint.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/euc.5#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/euc.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/fix_grouping.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/gb18030.5#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/gb18030.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/gb2312.5#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/gb2312.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/gbk.5#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/gbk.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/isalnum.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/isalpha.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/isascii.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/isblank.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/iscntrl.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/isctype.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/isdigit.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/isgraph.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/isideogram.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/islower.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/isphonogram.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/isprint.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/ispunct.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/isrune.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/isspace.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/isspecial.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/isupper.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/iswalnum.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/iswctype.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/isxdigit.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/ldpart.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/ldpart.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/lmessages.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/lmessages.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/lmonetary.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/lmonetary.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/lnumeric.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/lnumeric.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/localeconv.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/localeconv.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/mblen.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/mblen.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/mblocal.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/mbrlen.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/mbrlen.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/mbrtowc.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/mbrtowc.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/mbsinit.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/mbsinit.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/mbsnrtowcs.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/mbsrtowcs.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/mbsrtowcs.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/mbstowcs.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/mbstowcs.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/mbtowc.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/mbtowc.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/mskanji.5#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/mskanji.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/multibyte.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/nextwctype.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/nextwctype.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/nl_langinfo.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/nl_langinfo.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/nomacros.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/none.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/rpmatch.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/rpmatch.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/rune.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/runefile.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/runetype.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/setlocale.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/setlocale.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/setlocale.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/setrunelocale.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/table.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/toascii.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/tolower.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/tolower.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/toupper.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/toupper.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/towlower.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/towupper.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/utf8.5#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/utf8.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/wcrtomb.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/wcrtomb.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/wcsftime.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/wcsftime.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/wcsnrtombs.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/wcsrtombs.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/wcsrtombs.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/wcstod.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/wcstod.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/wcstof.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/wcstoimax.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/wcstol.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/wcstol.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/wcstold.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/wcstoll.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/wcstombs.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/wcstombs.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/wcstoul.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/wcstoull.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/wcstoumax.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/wctob.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/wctomb.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/wctomb.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/wctrans.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/wctrans.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/wctype.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/wctype.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/wcwidth.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/wcwidth.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/SYS.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/Symbol.map#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/_fpmath.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/arith.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/gd_qnan.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/gdtoa/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/gdtoa/arith.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/_set_tp.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/_setjmp.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/fabs.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/fabs.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/flt_rounds.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/fpgetmask.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/fpgetround.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/fpgetsticky.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/fpsetmask.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/fpsetround.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/fpsetsticky.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/infinity.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/ldexp.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/longjmp.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/makecontext.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/modf.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/modf.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/setjmp.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/signalcontext.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/gen/sigsetjmp.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/net/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/net/htonl.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/net/htons.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/net/ntohl.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/net/ntohs.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/softfloat/milieu.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/softfloat/mips-gcc.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/softfloat/softfloat.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/stdlib/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/string/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/string/bcmp.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/string/bcopy.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/string/bzero.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/string/ffs.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/string/index.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/string/memcpy.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/string/memmove.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/string/rindex.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/string/strcmp.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/string/strlen.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/sys/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/sys/Ovfork.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/sys/brk.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/sys/cerror.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/sys/exect.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/sys/fork.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/sys/pipe.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/sys/ptrace.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/sys/sbrk.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/sys/shmat.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/mips/sys/syscall.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/nameser/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/nameser/Symbol.map#4 edit .. //depot/projects/soc2008/konrad_collation/libc/nameser/ns_name.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/nameser/ns_netint.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/nameser/ns_parse.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/nameser/ns_print.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/nameser/ns_samedomain.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/nameser/ns_ttl.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/Symbol.map#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/base64.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/byteorder.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/ether_addr.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/ethers.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/eui64.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/eui64.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/gai_strerror.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/gai_strerror.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/getaddrinfo.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/getaddrinfo.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/gethostbydns.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/gethostbyht.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/gethostbyname.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/gethostbynis.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/gethostnamadr.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/getifaddrs.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/getifaddrs.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/getifmaddrs.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/getifmaddrs.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/getipnodebyname.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/getnameinfo.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/getnameinfo.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/getnetbydns.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/getnetbyht.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/getnetbynis.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/getnetent.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/getnetnamadr.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/getproto.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/getprotoent.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/getprotoent.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/getprotoname.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/getservent.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/getservent.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/hesiod.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/hesiod.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/if_indextoname.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/if_indextoname.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/if_nameindex.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/if_nametoindex.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/inet.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/inet6_opt_init.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/inet6_option_space.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/inet6_rth_space.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/inet6_rthdr_space.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/inet_net.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/ip6opt.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/linkaddr.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/linkaddr.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/map_v4v6.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/name6.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/netdb_private.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/nscache.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/nscachedcli.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/nsdispatch.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/nsdispatch.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/nslexer.l#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/nsparser.y#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/nss_backends.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/nss_compat.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/ntoh.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/rcmd.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/rcmd.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/rcmdsh.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/rcmdsh.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/recv.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/res_config.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/resolver.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/rthdr.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/sctp_bindx.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/sctp_connectx.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/sctp_freepaddrs.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/sctp_getaddrlen.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/sctp_getassocid.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/sctp_getpaddrs.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/sctp_opt_info.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/sctp_recvmsg.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/sctp_send.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/sctp_sendmsg.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/sctp_sys_calls.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/send.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/sockatmark.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/sockatmark.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/sourcefilter.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/sourcefilter.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/net/vars.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/nls/C.msg#4 edit .. //depot/projects/soc2008/konrad_collation/libc/nls/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/nls/Symbol.map#4 edit .. //depot/projects/soc2008/konrad_collation/libc/nls/catclose.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/nls/catgets.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/nls/catopen.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/nls/ko_KR.UTF-8.msg#4 edit .. //depot/projects/soc2008/konrad_collation/libc/nls/ko_KR.eucKR.msg#4 edit .. //depot/projects/soc2008/konrad_collation/libc/nls/msgcat.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/nls/pl_PL.ISO8859-2.msg#4 edit .. //depot/projects/soc2008/konrad_collation/libc/nls/ru_RU.KOI8-R.msg#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/Symbol.map#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_add_perm.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_calc_mask.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_calc_mask.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_clear_perms.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_copy.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_copy_entry.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_create_entry.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_delete.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_delete.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_delete_entry.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_delete_entry.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_delete_perm.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_dup.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_entry.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_free.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_free.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_from_text.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_from_text.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_get.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_get.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_get_entry.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_get_perm_np.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_get_permset.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_get_qualifier.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_get_tag_type.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_init.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_init.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_perm.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_set.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_set.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_set_permset.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_set_qualifier.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_set_tag_type.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_size.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_support.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_support.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_to_text.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_to_text.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_valid.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/acl_valid.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/extattr.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/extattr.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/mac.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/mac.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/mac.conf.5#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/mac_exec.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/mac_free.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/mac_get.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/mac_get.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/mac_is_present.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/mac_prepare.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/mac_set.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/mac_set.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/mac_text.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/posix1e/posix1e.3#4 edit .. //depot/projects/soc2008/konrad_collation/libc/powerpc/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/powerpc/SYS.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/powerpc/Symbol.map#4 edit .. //depot/projects/soc2008/konrad_collation/libc/powerpc/_fpmath.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/powerpc/arith.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/powerpc/gd_qnan.h#4 edit .. //depot/projects/soc2008/konrad_collation/libc/powerpc/gen/Makefile.inc#4 edit .. //depot/projects/soc2008/konrad_collation/libc/powerpc/gen/_ctx_start.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/powerpc/gen/_set_tp.c#4 edit .. //depot/projects/soc2008/konrad_collation/libc/powerpc/gen/_setjmp.S#4 edit .. //depot/projects/soc2008/konrad_collation/libc/powerpc/gen/fabs.S#4 edit >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Aug 3 19:35:21 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EBE4E1065672; Sun, 3 Aug 2008 19:35:20 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AFE3F106564A for ; Sun, 3 Aug 2008 19:35:20 +0000 (UTC) (envelope-from snagg@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9D7B68FC12 for ; Sun, 3 Aug 2008 19:35:20 +0000 (UTC) (envelope-from snagg@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m73JZKea077596 for ; Sun, 3 Aug 2008 19:35:20 GMT (envelope-from snagg@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m73JZKZE077594 for perforce@freebsd.org; Sun, 3 Aug 2008 19:35:20 GMT (envelope-from snagg@FreeBSD.org) Date: Sun, 3 Aug 2008 19:35:20 GMT Message-Id: <200808031935.m73JZKZE077594@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to snagg@FreeBSD.org using -f From: Vincenzo Iozzo To: Perforce Change Reviews Cc: Subject: PERFORCE change 146551 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, 03 Aug 2008 19:35:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=146551 Change 146551 by snagg@snagg_macosx on 2008/08/03 19:34:21 Added test for close(2) and fixed a bug while checking error value Affected files ... .. //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/audit_pipe_regression_test_utils.c#6 edit .. //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/specific-event/audit_pipe_event_close.c#1 add .. //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/specific-event/audit_pipe_event_open.c#4 edit .. //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/specific-event/audit_pipe_event_setgid.c#2 edit .. //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/specific-event/audit_pipe_event_setuid.c#2 edit Differences ... ==== //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/audit_pipe_regression_test_utils.c#6 (text+ko) ==== @@ -338,8 +338,10 @@ int check_ret(au_ret32_t ret, int r, char *val) { if(ret.ret == r) - //if(!strncmp(ret.status, val, strlen(ret.status) > strlen(val)? - // strlen(ret.status): strlen(val))) + if(!ret.status) + if(!strncmp(val, "success", strlen(val))) + return 1; + else if(!strncmp(strerror(ret.status), val, strlen(val))) return 1; return 0; } @@ -393,7 +395,7 @@ if(fstat(fd, &s) == -1) return 0; - if(attr.mode == s.st_mode && attr.uid == s.st_uid && attr.gid == s.st_gid && + if(attr.mode == (s.st_mode & ALLPERMS) && attr.uid == s.st_uid && attr.gid == s.st_gid && attr.nid == s.st_ino && attr.dev == s.st_dev) return 1; ==== //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/specific-event/audit_pipe_event_open.c#4 (text+ko) ==== @@ -93,7 +93,10 @@ write_int(O_RDONLY, "arg2"); write_int(fd, "fd"); write_int(fd, "ret"); - write_string(strerror(errno), "ret_val"); + if (ret == -1) + write_string(strerror(errno), "ret_val"); + else + write_string("success", "ret_val"); write_end(); close(fd); @@ -102,7 +105,10 @@ write_int(O_WRONLY, "arg2"); write_int(fd, "fd"); write_int(fd, "ret"); - write_string(strerror(errno), "ret_val"); + if (ret == -1) + write_string(strerror(errno), "ret_val"); + else + write_string("success", "ret_val"); write_end(); close(fd); @@ -113,7 +119,10 @@ write_int(0666, "arg3"); write_int(fd, "fd"); write_int(fd, "ret"); - write_string(strerror(errno), "ret_val"); + if (ret == -1) + write_string(strerror(errno), "ret_val"); + else + write_string("success", "ret_val"); write_end(); close(fd); @@ -311,7 +320,6 @@ } close_auditpipe(fd, fdout); end_channel(); - dump(path); f = init_log(pid); validate(f, head, path, pid); fclose(f); ==== //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/specific-event/audit_pipe_event_setgid.c#2 (text+ko) ==== @@ -87,13 +87,19 @@ ret = setgid(0); write_int(0, "gid"); write_int(ret, "ret"); - write_string(strerror(errno), "ret_val"); + if (ret == -1) + write_string(strerror(errno), "ret_val"); + else + write_string("success", "ret_val"); write_end(); ret = setgid(1000); write_int(1000, "gid"); write_int(ret, "ret"); - write_string(strerror(errno), "ret_val"); + if (ret == -1) + write_string(strerror(errno), "ret_val"); + else + write_string("success", "ret_val"); write_end(); end_channel(); @@ -148,7 +154,7 @@ } bytesread += tok.len; - /* Check only open syscals */ + /* Check only setgid syscals */ if(tok.tt.hdr32.e_type == 205) to_parse = VALID; ==== //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/specific-event/audit_pipe_event_setuid.c#2 (text+ko) ==== @@ -87,13 +87,19 @@ ret = setuid(1001); write_int(1001, "uid"); write_int(ret, "ret"); - write_string(strerror(errno), "ret_val"); + if (ret == -1) + write_string(strerror(errno), "ret_val"); + else + write_string("success", "ret_val"); write_end(); ret = setuid(0); write_int(0, "uid"); write_int(ret, "ret"); - write_string(strerror(errno), "ret_val"); + if (ret == -1) + write_string(strerror(errno), "ret_val"); + else + write_string("success", "ret_val"); write_end(); end_channel(); @@ -148,7 +154,7 @@ } bytesread += tok.len; - /* Check only open syscals */ + /* Check only setuid syscals */ if(tok.tt.hdr32.e_type == 200) to_parse = VALID; From owner-p4-projects@FreeBSD.ORG Sun Aug 3 20:53:41 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 467701065673; Sun, 3 Aug 2008 20:53:41 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0A0571065670 for ; Sun, 3 Aug 2008 20:53:41 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EA7488FC16 for ; Sun, 3 Aug 2008 20:53:40 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m73KreD4094207 for ; Sun, 3 Aug 2008 20:53:40 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m73Kres9094205 for perforce@freebsd.org; Sun, 3 Aug 2008 20:53:40 GMT (envelope-from pgj@FreeBSD.org) Date: Sun, 3 Aug 2008 20:53:40 GMT Message-Id: <200808032053.m73Kres9094205@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 146556 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, 03 Aug 2008 20:53:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=146556 Change 146556 by pgj@disznohal on 2008/08/03 20:53:00 MFen: 1.950 -> 1.1000 hu_HU.ISO8859-2/books/faq/book.sgml Affected files ... .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/faq/book.sgml#6 edit Differences ... ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/faq/book.sgml#6 (text+ko) ==== @@ -7,7 +7,7 @@ @@ -18,7 +18,7 @@ A &os; Dokumentációs Projekt - $FreeBSD: doc/en_US.ISO8859-1/books/faq/book.sgml,v 1.950 2008/06/21 07:27:50 pgj Exp $ + $FreeBSD: doc/en_US.ISO8859-1/books/faq/book.sgml,v 1.1000 2008/06/21 08:32:47 pgj Exp $ 1995 @@ -5557,7 +5557,7 @@ - A Xi Graphics korábban + A Xi Graphics korábban kínált fel CDE-t &os;-hez, de manapság már nem foglalkoznak ezzel. @@ -5578,68 +5578,6 @@ - - Léteznek nagy teljesítményû - kereskedelmi X szerverek is? - - - - Igen, a Xi Graphics foglalkozik - &os; és egyéb Intel-alapú - rendszerekre fejlesztett Accelerated-X - termékekkel. - - A Xi Graphics által - kínált nagy teljesítményû X - szervereket könnyû konfigurálni, egyszerre - több videokártyát is támogatnak - és csak bináris formában - érhetõek el, a &os; és &linux; - változatok egyetlen lemezen. A Xi - Graphics ezenkívül még - külön laptopok számára is - ajánl nagy teljesítményû X - szervereket. - - Az 5.0 változatból egy ingyenes - kompatibilitási demo le is - tölthetõ. - - A Xi Graphics &os;-re - &motif;ot és - CDE-t és - kínál (lásd fentebb). - - - - További információk - - A Xi Graphics honlapja - - - - - illetve - - sales@xig.com vagy - support@xig.com - - - - - illetve - - telefonon: (800) 946 7433 vagy - +1 303 298-7478 - - - - - - - Használhatóak adatbázisrendszerek &os; alatt? @@ -8309,7 +8247,7 @@ lehetõleg a levelezési listákon ne kérdezzünk senkitõl olyat, hogy De a sendmail akkor most miért - jobb, mint a Qmail? Ha + jobb, mint a qmail? Ha ilyen kérdéseink vannak, akkor elõször inkább olvassuk át az archívumokat. Szinte biztos, hogy már szinte @@ -8327,15 +8265,15 @@ Ne essünk kétségbe! Indítsuk - újra a rendszerünket egyfelhasználós - módban. Ehhez gépeljük be a - boot -s parancsot a - rendszertöltõ Boot: + újra a rendszerünket + egyfelhasználós módban. Ehhez + gépeljük be a boot -s + parancsot a rendszertöltõ Boot: parancssorában. Amikor a parancsértelmezõt kell megadnunk, egyszerûen csak nyomjuk le az Enter billentyût. Ekkor kapunk egy &prompt.root; - parancssort. A mount -u / parancs + parancssort. A mount -urw / parancs begépelésével csatlakoztassuk újra a rendszerindító partíciónkat írható @@ -8348,6 +8286,38 @@ jelszavát és a &man.exit.1; futtatásával folytassuk a rendszer indítását. + + + Ha az egyfelhasználós módra + váltás során a rendszer a + root felhasználó + jelszavát kérné, akkor az arra utal, + hogy a konzol az /etc/ttys + állomány szerint insecure + (nem biztonságos) típusú. Ebben az + esetben szereznünk kell egy &os; + telepítõlemezt, elindítanunk + róla a rendszert, majd a &man.sysinstall.8; + programban a Fixit + menüponton keresztül indított + parancsértelmezõben kiadni az elõbb + említet parancsokat. + + + + Ha egyfelhasználós módban nem + tudjuk csatlakoztatni a rendszerindító + partíciót, akkor ennek könnyen az lehet + az oka, hogy a partíciókat + titkosították, ezért a megfelelõ + kulcsok nélkül nem tudjuk elérni + ezeket. Ez leginkább adott + implementációtól függ. A + &os;-ben elõforduló + lemeztitkosításokkal kapcsolatban a kézikönyv + ad bõvebb útmutatást. + @@ -8370,8 +8340,8 @@ Mindezt a rendszermag újrafordítása és a újraindítása nélkül is le tudjuk tiltani, ha - beállítjuk az alábbi sysctl - változót: + beállítjuk az alábbi + &man.sysctl.8;-változót: &prompt.root; sysctl hw.syscons.kbd_reboot=0 @@ -8381,7 +8351,6 @@ újrafordításakor: options PCVT_CTRL_ALT_DEL - @@ -8396,12 +8365,12 @@ Használjuk a következõ &man.perl.1; parancsot: - &prompt.user; perl -i.bak -npe 's/\r\n/\n/g' állomány ... + &prompt.user; perl -i.bak -npe 's/\r\n/\n/g' állományok ahol az - állomány az - átalakítandó állomány. A - konverzió helyben történik, illetve az + állományok az + átalakítandó állományok. + A konverzió helyben történik, illetve az eredeti állományokról .bak kiterjesztéssel létrejön egy biztonsági @@ -8418,8 +8387,17 @@ állomány, miközben a unix-szöveges-állomány fogja az eredményt tartalmazni. Ez valamivel - gyorsabb a &man.perl.1; + gyorsabb a perl megoldásánál. + + Ez említett megoldásokon kívül + a DOS szöveges állományait a + Portgyûjteményben található + converters/dosunix porttal is + könnyedén át tudjuk alakítani. + Ennek részleteit a hozzátartozó + dokumentációból tudjuk meg. @@ -8465,21 +8443,21 @@ A Kerberos úgy távolítható el a rendszerbõl, ha - újratelepítjük a bin + újratelepítjük a base terjesztés tartalmát. Ha CD-rõl telepítettük a rendszert, akkor csatlakoztassuk - (most tegyük fel, hogy a /cdrom - könyvtárba) és futassuk a - következõ parancsot: + (most tegyük fel, hogy a /cdrom könyvtárba) + és futassuk a következõ parancsot: - &prompt.root; cd /cdrom/bin + &prompt.root; cd /cdrom/base &prompt.root; ./install.sh - Másik lehetõség, ha kivesszük az - összes MAKE_KERBEROS + Másik lehetõség, ha hozzáadjuk + a NO_KERBEROS beállítást a /etc/make.conf - állományból és + állományhoz és újrafordítjuk az alaprendszert. @@ -8502,16 +8480,6 @@ szükségtelenné teszik a /dev/MAKEDEV használatát. - - Ha a FreeBSD 4.X vagy - annál korábbi változatát - használjuk, és a - /dev/MAKEDEV állomány - hiányzik, akkor viszont komoly a gond. - Másoljuk át a rendszer forrásai - közül, az - /usr/src/etc/MAKEDEV - helyrõl. @@ -8522,9 +8490,8 @@ - Ha sok Telnet, - SSH, X - esetleg screen + Ha sok telnet, + ssh, X esetleg screen felhasználónk van, akkor könnyen elõfordulhat, hogy kifogyunk a pszeudoterminálokból. Így tudjuk @@ -8537,32 +8504,26 @@ következõ beállítás használatával: - pseudo-device pty 256 - + device pty N - - Adjuk ki a következõ parancsokat: - - &prompt.root; cd /dev -&prompt.root; sh MAKEDEV pty{1,2,3,4,5,6,7} - - Ezzel létrehozunk 256 darab - eszközleírót az új - terminálok számára. + ahol az N a + létrehozni kívánt + pszeudoterminálok száma. Nyissuk meg az /etc/ttys állományt és vegyünk fel - egy-egy sort mind a 256 terminálhoz. - Mindegyiküknek egy már létezõ - bejegyzéshez kell tartoznia, tehát - valahogy így kell kinézniük: + egy-egy sort mind az N + darab terminálhoz. Mindegyiküknek egy + már létezõ bejegyzéshez kell + tartoznia, tehát valahogy így kell + kinézniük: ttyqc none network A bejegyzéseket a - tty[pqrsPQRS][0-9a-v] + tty[pqrsPQRSlmnoLMNO][0123456789abcdefghijklmnopqrstuv] reguláris kifejezéssel tudjuk leírni. @@ -8573,36 +8534,12 @@ készen is vagyunk. - - - - - - Miért nem lehet létrehozni a - snd0 eszközt? - - - - Nincs snd eszközünk. - Ezt a &os; hangkártya meghajtója hozza - létre több más eszköz, - például a mixer, - sequencer és a - dsp mellett. - Ezeket az eszközöket a következõ - parancsok segítségével lehet - létrehozni: - - &prompt.root; cd /dev -&prompt.root; sh MAKEDEV snd0 - - A &man.devfs.5; megoldását - alkalmazó FreeBSD 5.0-RELEASE vagy - késõbbi változatok esetén nincs - szükségünk erre a - lépésre. + 256 darabnál több (egészen 512 + darab) &man.pty.4; használatához a &os; 6.3 + vagy késõbbi változatára lesz + szükségünk. @@ -8631,24 +8568,25 @@ - A -STABLE rendszer - frissítésekor -BETAx, + frissítésekor + -BETAx, -RC vagy -PRERELEASE verzió jelenik meg! Mi történt? - Röviden: Ez csak egy elnevezés. Az RC - jelentése Release Candidate, vagyis - kiadásra jelölt. Ez egy - küszöbön álló kiadásra - utal. A &os;-ben a -PRERELEASE - elnevezés általában egyenlõ a - kiadások elõtt bekövetkezõ + Röviden: Ez csak egy elnevezés. Az + RC jelentése Release + Candidate, vagyis kiadásra + jelölt. Ez egy küszöbön + álló kiadásra utal. A &os;-ben a + -PRERELEASE elnevezés + általában egyenlõ a kiadások + elõtt bekövetkezõ kódfagyasztással. (Bizonyos kiadások esetén pedig a -BETA címkét a -PRERELEASE @@ -8660,12 +8598,12 @@ általában két helyrõl származnak. A nagyobb, ún. nullás kiadások, mint - például 4.0-RELEASE és 5.0-RELEASE, a + például 6.0-RELEASE és 7.0-RELEASE, a fejlesztési ág legfrissebb állapotából készülnek, amelyet gyakran csak -CURRENT néven emlegetnek. A kisebb kiadások, mint - például a 4.1-RELEASE vagy az 5.2-RELEASE, az + például a 6.3-RELEASE vagy az 5.2-RELEASE, az aktív -STABLE ágból származnak. A 4.3-RELEASE kiadástól kezdõdõen mindegyik @@ -8686,8 +8624,8 @@ megkezdõdik, az ág neve megváltozik, és ezzel jelzik, hogy hamarosan kiadás készül belõle. Például, ha - egy ág a 4.5-STABLE nevet viseli, akkor a - 4.6-PRERELEASE névre vált arra az + egy ág a 6.2-STABLE nevet viseli, akkor a + 6.3-PRERELEASE névre vált arra az idõszakra, amíg tart a kódfagyasztás és lezajlik a kiadások megjelentetéséhez @@ -8695,16 +8633,16 @@ Hibajavítások ekkor továbbra is rakhatóak bele. Ahogy a források elérik a kiadáshoz szükséges - szintet, az ág neve 4.6-RC-re vált, és + szintet, az ág neve 6.3-RC-re vált, és ezzel jelzik, hogy a kiadás elõkészítése hamarosan befejezõdik. Az RC állapotban csak a legfontosabb hibákat keresik meg és javítják. Miután a - kiadás (jelen esetünkben a 4.6-RELEASE + kiadás (jelen esetünkben a 6.3-RELEASE kiadás) és a hozzátartozó ág elkészült, az ág neve - ismét 4.6-STABLE lesz. + ismét 6.3-STABLE lesz. A verziószámokról és a CVS-ben található különbözõ @@ -8906,11 +8844,11 @@ értékre a chmod 4555 /usr/bin/ssh parancs kiadásával. Ezután vegyük fel az - ENABLE_SUID_SSH= true sort az + ENABLE_SUID_SSH= true sort az /etc/make.conf állományt, így ez a - változtatás a make - world + változtatás a + make world következõ futtatásakor is megmarad. @@ -9001,11 +8939,9 @@ lemezre (valamilyen VM alrendszerbeli szinkronizáció során), amikor inaktív állapotban vannak, de akár az - aktív lapok is szinkronizálhatóak - (ehhez azonban a processzor részérõl - szükség van némi - támogatásra). Ez attól függ, hogy - a processzor képes-e nyomkövetni a lapok + aktív lapok is szinkronizálhatóak Ez + attól függ, hogy a processzor képes-e + nyomkövetni a lapok módosítását, és némely helyzetekben elõnyös lehet a rendszer számára, ha annak megfelelõen @@ -9201,14 +9137,9 @@ 2004 júliusától kezdõdõen a &os.current; változatban az &xfree86; helyett az &xorg; lett az alapértelmezett X - implementáció. Az &xfree86; portjai - (x11/XFree86-4 és - annak alportjai) természetesen továbbra is - elérhetõek a Portgyûjteménybõl. - A &os; 5.3 és az utána - következõ változatokban viszont már - az &xorg; az alapértelmezett X11 - implementáció. + implementáció. A &os;-ben azóta is + alapból az &xorg; X11 implementációja + található meg. A témával kapcsolatban a kézikönyv fejezetében kaphatunk részletesebb felvilágosítást. - - - A fentiek kizárólag csak az - alapértelmezett X implementáció - telepítésével foglalkoztunk. - Ettõl függetlenül azonban továbbra - is választhatunk a különbözõ - implementációk között. Ehhez - kövessük a - /usr/ports/UPDATING - állomány 20040723-as - bejegyzését. - - - - Jelenleg nem lehet keverni az egyes - implementációkat. Egyszerre csak az egyiket - használhatjuk! - - - - - - - Az alkalmazások mûködni fognak az - &xorg; programcsomaggal? - - - - A &xorg; programjait ugyanazon X11R6 - specifikáció mentén fejlesztették, - mint az &xfree86; programjait, szóval az - egyszerûbb alkalmazásoknak minden - változtatás nélkül - mûködniük kell. Néhány - kevéssé használt protokoll - (XTE, PEX és a - lbproxy) azonban már elavult, de - az elsõ két esetet tekintve az &xfree86; &os; - alatt futó változata korábban sem - támogatta ezeket. @@ -9297,16 +9187,6 @@ továbbra is a hagyományos X licenc alatt érhetõ el, miközben az &xfree86; licence ettõl némileg eltér. - - - Természetesen ez a döntés - továbbra is megkérdõjelezhetõ. - Idõvel ki fog derülni, melyik - implementáció bizonyul jobbnak. A &os; - felhasználók ettõl - függetlenül továbbra is - választhatnak. - @@ -9319,15 +9199,27 @@ Amennyiben már egy meglévõ rendszerre szeretnénk telepíteni az X-et, úgy érdemes a x11/xorg metaportot + role="package">x11/xorg metaportot választanunk, amely magától feltelepíti az összes szükséges - komponenst. + komponenst, vagy egyszerûen telepítsük az + &xorg; alkalmazást csomagból: + + &prompt.root; pkg_add -r xorg + + Emellett az &xorg; a &man.sysinstall.8; + használatával is telepíthetõ: + válasszuk a Configure + (Beállítások), + Distributions + (Terjesztések), végül a The + X.Org Distribution (Az X.Org + terjesztés) menüpontokat. - Miután ez megtörtént, olvassuk - át a &man.xorgconfig.1; segédprogram - dokumentációját, ahonnan megtudhatjuk, - hogy miként kell beállítani az &xorg; + Az &xorg; sikeres telepítése után + kövessük a &man.xorgconfig.1; segédprogram + utasításait. Innen megtudhatjuk, hogy + miként kell beállítani az &xorg; szerverét a különbözõ grafikus kártyák, egerek stb. használatához. Továbbá @@ -9339,15 +9231,8 @@ További információkat a kézikönyv X11-gyel - foglalkozó fejezetébõl tudhatunk - meg. - - Esetleg nézzük meg az - Xaccel szervert. Ezzel - kapcsolatban a Xi Graphics - elérhetõségeivel kapcsolatos - információkat javasoljuk. + url="&url.books.handbook;/x11.html">X11-gyel foglalkozó + fejezetébõl tudhatunk meg. @@ -9362,15 +9247,14 @@ A rendszerünkön - valószínûleg túlságosan magas - a biztonsági szint (securelevel) - értéke. Ilyenkor az X-et nem tudjuk - elindítani, mivel a + valószínûleg túlságosan + magas a biztonsági szint + (securelevel) értéke. + Ilyenkor az X-et nem tudjuk elindítani, mivel a mûködéséhez szüksége van - a /dev/io eszköz - írására. Ezzel kapcsolatban a - &man.init.8; man oldal ad részletesebb - útmutatást. + a &man.io.4; eszköz írására. + Ezzel kapcsolatban a &man.init.8; man oldal ad + részletesebb útmutatást. A kérdés tehát az, hogy mit kellene ezzel csinálni. Alapvetõen két @@ -9409,14 +9293,14 @@ azt, hogy összeakadjon az X-szel. A valós egértõl érkezõ összes eseményt a &man.moused.8; démon írja - folyamatosan a sysmouse - eszközre. Amennyiben az egerünket egy vagy - több virtuális konzolon is használni - akarjuk az X-szel együtt, akkor - nézzük meg a válaszát és - állítsuk be annak megfelelõen a - &man.moused.8; démont. + folyamatosan a &man.sysmouse.4; eszközre. Amennyiben + az egerünket egy vagy több virtuális + konzolon is használni akarjuk az X-szel + együtt, akkor nézzük + meg a + válaszát és állítsuk be + annak megfelelõen a &man.moused.8; + démont. Ezt követõen nyissuk meg az /etc/X11/xorg.conf @@ -9436,11 +9320,20 @@ /dev/mouse eszközhöz hozzunk létre egy szimbolikus linket a /dev/sysmouse eszközre - (lásd &man.sysmouse.4;): + (lásd &man.sysmouse.4;). Ezt úgy tudjuk + megtenni, ha az /etc/devfs.conf + állományba (lásd &man.devfs.conf.5;) + felvesszük a következõ sort: + + link sysmouse mouse + + A link maga közvetlenül a &man.devfs.5; + újraindításával keletkezik. Ehhez + (root + felhasználóként) a következõ + parancsot kell kiadnunk: - &prompt.root; cd /dev -&prompt.root; rm -f mouse -&prompt.root; ln -s sysmouse mouse + &prompt.root; /etc/rc.d/devfs restart @@ -9515,32 +9408,6 @@ - - Az X-ben létrehozott ablakok menü és - párbeszédablaki miért nem - mûködnek megfelelõen? - - - - Próbáljuk meg ilyenkor kikapcsolni a - Num Lock gombot. - - Ha alapértelmezés szerint a rendszer - indításakor engedélyzett a Num - Lock gomb, akkor a problémát - úgy oldhatjuk meg, ha az - /etc/X11/xorg.conf - állomány Keyboard - szakaszába felvesszük a következõ - sort: - - # Hagyjuk a szerverre a NumLock kezelését. Erre -# csak az R6 elõtti kliensek esetében van szükségünk - ServerNumLock - - - - Mi az a virtuális konzol és hogyan lehet belõle többet létrehozni? @@ -9597,7 +9464,7 @@ /etc/ttys állományt (lásd &man.ttys.5;) és a Virtual terminals részben vegyünk még fel - a ttyv4 eszköz után + a ttyv8 eszköz után továbbiakat, egészen a ttyvc eszközig: @@ -9674,9 +9541,9 @@ Fontos, hogy a parancs végrehajtás elõtt teljes leállítsuk az X szerver, amennyiben az fut. Ha nem tesszük meg, akkor - könnyen elõfordulhat, hogy a &man.kill.1; parancs - hatására lemerevedik vagy megáll a - rendszerünk. + könnyen elõfordulhat, hogy a + kill parancs hatására + lemerevedik vagy megáll a rendszerünk. @@ -9738,10 +9605,11 @@ Alapvetõen kétféle - megközelítés létezik az &man.xdm.1; - elindításával kapcsolatban. Az egyik - megközelítés szerint az &man.xdm.1; - alkalmazást az /etc/ttys + megközelítés létezik az + &man.xdm.1; elindításával kapcsolatban. + Az egyik megközelítés szerint az + xdm parancsot az + /etc/ttys állományból (lásd &man.ttys.5;) tudjuk megadni a megadott példa alapján, a másikban pdig egyszerûen az @@ -9749,7 +9617,7 @@ állományból (lásd &man.rc.8;) vagy a /usr/local/etc/rc.d könyvtárban megadható - X.sh szkripttel. Mind a kettõ + X szkripttel. Mind a kettõ ugyanazt képviseli, de vannak bizonyos helyzetek, ahol a kettõ közül csak az egyik mûködik. Az eredmény mind a két @@ -9761,25 +9629,24 @@ elõnye, hogy pontosan megadja, melyik virtuális terminálon fog futni az X és az X szerver elindítását az &man.init.8; programra - bízza. Az rc.local - használata esetén viszont könnyû - leállítani az &man.xdm.1; programot, ha - netalán valamilyen gondunk adódna az X szerver + bízza. Az &man.rc.8; használata esetén + viszont könnyû leállítani az + xdm programot, ha netalán + valamilyen gondunk adódna az X szerver indításakor. - Ha az rc.local - állományból töltöttük be, - akkor az xdm futtatásához - semmilyen paramétert nem kell megadni - (például, hogy démonként - fusson). Az &man.xdm.1; azonban csak az - összes &man.getty.8; + Ha az &man.rc.8; állományból + töltöttük be, akkor az xdm + futtatásához semmilyen paramétert nem + kell megadni (például, hogy + démonként fusson). Az &man.xdm.1; azonban + csak az összes &man.getty.8; elindulása után indítható, máskülönben a két program ütközni fog és a konzol nem tud létrejönni. Ezt a legkönnyebben úgy - lehet megakadályozni, ha az &man.xdm.1; - indítása elõtt várunk kb. 10 + lehet megakadályozni, ha az xdm + indítása elõtt várunk kb. 10 másodpercet a szkriptben. Amennyiben az /etc/ttys @@ -9806,10 +9673,9 @@ - Az xconsole - indításakor miért jelenik meg a - Couldn't open console - hibaüzenet? + Az xconsole indításakor + miért jelenik meg a Couldn't open + console hibaüzenet? @@ -9918,8 +9784,8 @@ bejelentkeztetõ képernyõt indítani, akkor ezt pontosan nekünk találták ki! Ha telepítettük a teljes - Portgyûjteményt, akkor a - /usr/ports/x11/wrapper portban + Portgyûjteményt, akkor a /usr/ports/x11/wrapper portban találjuk meg. @@ -10006,33 +9872,6 @@ - - Másik X szerverre van - szükségünk. - - - - A &os; 5.3 elõtti változataiban - alapértelmezés szerint a - &xfree86; 4.X - szerepel, miközben a újabb változatokban - már az &xorg;. Amennyiben - rendszerünkben nem az alapértelmezés - szerinti X11 implementációt szeretnénk - használni, az /etc/make.conf - állományba vegyük fel a - következõket (ha nem létezne, akkor hozzuk - létre): - - X_WINDOW_SYSTEM= xorg - - A változó értéke lehet - xorg, xfree86-4 vagy - xfree86-3. - - - - Hogyan lehet megcserélni a gombokat az egéren? @@ -10123,7 +9962,8 @@ X alatt lehet használni a billentyûzeten - található &windows; billentyûket? + található Windows + billentyûket? @@ -10131,32 +9971,36 @@ használatával meg kell adni a hozzájuk tartozó funkciót. - Feltéve, hogy mindegyik &windows; + Feltéve, hogy mindegyik Windows billentyûzet szabványos, a következõ billentyûkódok tartoznak ehhez a három plusz gombhoz: - 115 - &windows; billentyû, bal oldali + 115 — + Windows billentyû, bal oldali Ctrl és Alt billentyûk között - 116 - &windows; billentyû, az + 116 — + Windows billentyû, az AltGr mellett jobbra - 117 - Menü gomb, a jobb oldali + 117 — + Menü gomb, a jobb oldali Ctrl mellett balra Például így lehet - beállítani a bal oldali &windows; - billentyût vesszõre: + beállítani a bal oldali + Windows billentyût + vesszõre: &prompt.root; xmodmap -e "keycode 115 = comma" @@ -10165,9 +10009,9 @@ életbelépni, ha újraindítjuk az ablakkezelõnket. - Ha azt szeretnénk, hogy a &windows; - billentyûkhöz rendelt funkciók az X - indításakor automatikusan + Ha azt szeretnénk, hogy a + Windows billentyûkhöz rendelt + funkciók az X indításakor automatikusan beállítódjanak, akkor tegyük az xmodmap parancs hívását az @@ -10199,10 +10043,11 @@ keycode 116 = F14 keycode 117 = F15 - Ha például az fvwm2 - ablakkezelõt használjuk, akkor az - F13 gombra be tudjuk állítani - a kurzor alatt álló ablak + Ha például az x11-wm/fvwm2 ablakkezelõt + használjuk, akkor az F13 gombra be + tudjuk állítani a kurzor alatt + álló ablak lekicsinyítésére (vagy visszanagyítására); az F14 billentyûvel az @@ -10235,23 +10080,62 @@ - Az &xfree86; vagy az &xorg; pillanatnyilag - használt verziójától és a + Az &xorg; pillanatnyilag használt + verziójától és a videokártyánktól függ, hogy - tudunk-e 3D gyorsítást alkalmazni. Ha NVIDIA - kártyánk van, akkor közvetlenül az - oldalukról - tudunk bináris meghajtókat letölteni - &os;-re. A többi kártya, például - a Matrox G200/G400, ATI Rage 128/Radeon, - 3dfx Voodoo 3, 4, 5 és Banshee esetén az - XFree86-4 Direct Rendering on FreeBSD - oldalon érdemes körbenézni. + tudunk-e 3D gyorsítást alkalmazni. Ha nVidia + kártyánk van, akkor a portok közül + telepíteni tudjuk a &os;-hez készített + bináris meghajtót: + + + + A legújabb nVidia-kártyákat az + x11/nvidia-driver + port támogatja. + + + + A GeForce2 MX/3/4 sorozatú + nVidia-kártyákat a meghajtó 96XX + változata támogatja, amely az x11/nvidia-driver-96xx + portból telepíthetõ. + + + + Az ettõl is régebbi + kártyák, például a GeForce + vagy Riva TNT esetén a meghajtó 71XX + változata javasolt, amely az x11/nvidia-driver-71xx + porton keresztül érhetõ el. + >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Aug 3 20:57:45 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 850351065688; Sun, 3 Aug 2008 20:57:45 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 47C73106567D for ; Sun, 3 Aug 2008 20:57:45 +0000 (UTC) (envelope-from konrad@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 33C4F8FC0A for ; Sun, 3 Aug 2008 20:57:45 +0000 (UTC) (envelope-from konrad@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m73KvjGq094528 for ; Sun, 3 Aug 2008 20:57:45 GMT (envelope-from konrad@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m73KvjmO094526 for perforce@freebsd.org; Sun, 3 Aug 2008 20:57:45 GMT (envelope-from konrad@FreeBSD.org) Date: Sun, 3 Aug 2008 20:57:45 GMT Message-Id: <200808032057.m73KvjmO094526@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to konrad@FreeBSD.org using -f From: Konrad Jankowski To: Perforce Change Reviews Cc: Subject: PERFORCE change 146557 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, 03 Aug 2008 20:57:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=146557 Change 146557 by konrad@vspredator on 2008/08/03 20:57:32 Temporarily reverted changes, so that correct deltas can be seen. Affected files ... .. //depot/projects/soc2008/konrad_collation/libc/locale/collate.c#6 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/collate.h#5 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/collcmp.c#5 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/setlocale.c#5 edit .. //depot/projects/soc2008/konrad_collation/libc/string/strcoll.c#5 edit .. //depot/projects/soc2008/konrad_collation/libc/string/strxfrm.c#5 edit .. //depot/projects/soc2008/konrad_collation/libc/string/wcscoll.c#5 edit .. //depot/projects/soc2008/konrad_collation/libc/string/wcsxfrm.c#5 edit Differences ... ==== //depot/projects/soc2008/konrad_collation/libc/locale/collate.c#6 (text+ko) ==== @@ -26,26 +26,16 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/locale/collate.c,v 1.33 2004/09/22 16:56:48 stefanf Exp $"); - -#define __collate_chain_equiv_table (__collate_data->__chain_equiv_table) -#define __collate_chain_pri_table (__collate_data->__chain_pri_table) -#define __collate_char_pri_table (__collate_data->__char_pri_table) -#define __collate_info (&__collate_data->__info) -#define __collate_large_char_pri_table (__collate_data->__large_char_pri_table) -#define __collate_substitute_table (__collate_data->__substitute_table) +__FBSDID("$FreeBSD: src/lib/libc/locale/collate.c,v 1.35 2005/02/27 20:31:13 ru Exp $"); #include "namespace.h" #include #include #include -#include #include -#include #include #include #include -#include #include "un-namespace.h" #include "collate.h" @@ -54,25 +44,24 @@ #include "libc_private.h" -#if _BYTE_ORDER == _LITTLE_ENDIAN -static void wntohl(wchar_t *, int); -#endif /* _BYTE_ORDER == _LITTLE_ENDIAN */ -void __collate_err(int ex, const char *f) __dead2; - -#undef __collate_load_error int __collate_load_error = 1; int __collate_substitute_nontrivial; -struct __locale_st_collate *__collate_data = NULL; + +u_char __collate_substitute_table[UCHAR_MAX + 1][STR_LEN]; +struct __collate_st_char_pri __collate_char_pri_table[UCHAR_MAX + 1]; +struct __collate_st_chain_pri *__collate_chain_pri_table; + +void __collate_err(int ex, const char *f) __dead2; int __collate_load_tables(const char *encoding) { FILE *fp; - int i, saverr, chains, z; + int i, saverr, chains; + uint32_t u32; char strbuf[STR_LEN], buf[PATH_MAX]; - struct __locale_st_collate *TMP; - struct __collate_st_info info; - void *vp; + void *TMP_substitute_table, *TMP_char_pri_table, *TMP_chain_pri_table; + static char collate_encoding[ENCODING_LEN + 1]; /* 'encoding' must be already checked. */ if (strcmp(encoding, "C") == 0 || strcmp(encoding, "POSIX") == 0) { @@ -83,7 +72,7 @@ /* * If the locale name is the same as our cache, use the cache. */ - if (__collate_data && strcmp(encoding, __collate_data->__encoding) == 0) { + if (strcmp(encoding, collate_encoding) == 0) { __collate_load_error = 0; return (_LDP_CACHE); } @@ -98,9 +87,6 @@ (void)strcat(buf, "/"); (void)strcat(buf, encoding); (void)strcat(buf, "/LC_COLLATE"); -#ifdef LOCALE_DEBUG - fprintf(stderr, "__collate_load_tables: opening %s\n", buf); -#endif if ((fp = fopen(buf, "r")) == NULL) return (_LDP_ERROR); @@ -111,30 +97,23 @@ return (_LDP_ERROR); } chains = -1; - if (strcmp(strbuf, COLLATE_VERSION1_3) == 0) + if (strcmp(strbuf, COLLATE_VERSION) == 0) + chains = 0; + else if (strcmp(strbuf, COLLATE_VERSION1_2) == 0) chains = 1; if (chains < 0) { - fprintf(stderr, "__collate_load_tables: wrong signature: %s\n", strbuf); (void)fclose(fp); errno = EFTYPE; return (_LDP_ERROR); } if (chains) { - if (fread(&info, sizeof(info), 1, fp) != 1) { + if (fread(&u32, sizeof(u32), 1, fp) != 1) { saverr = errno; (void)fclose(fp); errno = saverr; return (_LDP_ERROR); } -#if _BYTE_ORDER == _LITTLE_ENDIAN - for(z = 0; z < info.directive_count; z++) { - info.undef_pri[z] = ntohl(info.undef_pri[z]); - info.subst_count[z] = ntohl(info.subst_count[z]); - } - info.chain_count = ntohl(info.chain_count); - info.large_pri_count = ntohl(info.large_pri_count); -#endif /* _BYTE_ORDER == _LITTLE_ENDIAN */ - if ((chains = info.chain_count) < 0) { + if ((chains = (int)ntohl(u32)) < 1) { (void)fclose(fp); errno = EFTYPE; return (_LDP_ERROR); @@ -142,13 +121,26 @@ } else chains = TABLE_SIZE; - i = sizeof(struct __locale_st_collate) - + sizeof(struct __collate_st_chain_pri) * chains - + sizeof(struct __collate_st_large_char_pri) * info.large_pri_count; - for(z = 0; z < info.directive_count; z++) - i += sizeof(struct __collate_st_subst) * info.subst_count[z]; - if ((TMP = (struct __locale_st_collate *)malloc(i)) == NULL) { + if ((TMP_substitute_table = + malloc(sizeof(__collate_substitute_table))) == NULL) { + saverr = errno; + (void)fclose(fp); + errno = saverr; + return (_LDP_ERROR); + } + if ((TMP_char_pri_table = + malloc(sizeof(__collate_char_pri_table))) == NULL) { + saverr = errno; + free(TMP_substitute_table); + (void)fclose(fp); + errno = saverr; + return (_LDP_ERROR); + } + if ((TMP_chain_pri_table = + malloc(sizeof(*__collate_chain_pri_table) * chains)) == NULL) { saverr = errno; + free(TMP_substitute_table); + free(TMP_char_pri_table); (void)fclose(fp); errno = saverr; return (_LDP_ERROR); @@ -158,415 +150,114 @@ { \ if (fread(a, b, c, d) != c) { \ saverr = errno; \ - free(TMP); \ + free(TMP_substitute_table); \ + free(TMP_char_pri_table); \ + free(TMP_chain_pri_table); \ (void)fclose(d); \ errno = saverr; \ return (_LDP_ERROR); \ } \ } - /* adjust size to read the remaining in one chunk */ - i -= offsetof(struct __locale_st_collate, __char_pri_table); - FREAD(TMP->__char_pri_table, i, 1, fp); + FREAD(TMP_substitute_table, sizeof(__collate_substitute_table), 1, fp); + FREAD(TMP_char_pri_table, sizeof(__collate_char_pri_table), 1, fp); + FREAD(TMP_chain_pri_table, + sizeof(*__collate_chain_pri_table), chains, fp); (void)fclose(fp); - vp = (void *)(TMP + 1); - - /* the COLLATE_SUBST_DUP optimization relies on COLL_WEIGHTS_MAX == 2 */ - if (info.subst_count[0] > 0) { - TMP->__substitute_table[0] = (struct __collate_st_subst *)vp; - vp += info.subst_count[0] * sizeof(struct __collate_st_subst); - } else - TMP->__substitute_table[0] = NULL; - if (info.flags & COLLATE_SUBST_DUP) - TMP->__substitute_table[1] = TMP->__substitute_table[0]; - else if (info.subst_count[1] > 0) { - TMP->__substitute_table[1] = (struct __collate_st_subst *)vp; - vp += info.subst_count[1] * sizeof(struct __collate_st_subst); - } else - TMP->__substitute_table[1] = NULL; - - if (chains > 0) { - TMP->__chain_pri_table = (struct __collate_st_chain_pri *)vp; - vp += chains * sizeof(struct __collate_st_chain_pri); - } else - TMP->__chain_pri_table = NULL; - if (info.large_pri_count > 0) - TMP->__large_char_pri_table = - (struct __collate_st_large_char_pri *)vp; - else - TMP->__large_char_pri_table = NULL; - -#if _BYTE_ORDER == _LITTLE_ENDIAN - { - struct __collate_st_char_pri *p = TMP->__char_pri_table; - for(i = UCHAR_MAX + 1; i-- > 0; p++) { - for(z = 0; z < info.directive_count; z++) - p->pri[z] = ntohl(p->pri[z]); - } + (void)strcpy(collate_encoding, encoding); + if (__collate_substitute_table_ptr != NULL) + free(__collate_substitute_table_ptr); + __collate_substitute_table_ptr = TMP_substitute_table; + if (__collate_char_pri_table_ptr != NULL) + free(__collate_char_pri_table_ptr); + __collate_char_pri_table_ptr = TMP_char_pri_table; + for (i = 0; i < UCHAR_MAX + 1; i++) { + __collate_char_pri_table[i].prim = + ntohl(__collate_char_pri_table[i].prim); + __collate_char_pri_table[i].sec = + ntohl(__collate_char_pri_table[i].sec); } - for(z = 0; z < info.directive_count; z++) - if (info.subst_count[z] > 0) { - struct __collate_st_subst *p = - TMP->__substitute_table[z]; - for(i = info.subst_count[z]; i-- > 0; p++) { - p->val = ntohl(p->val); - wntohl(p->str, STR_LEN); - } - } - { - struct __collate_st_chain_pri *p = TMP->__chain_pri_table; - for(i = chains; i-- > 0; p++) { - wntohl(p->str, STR_LEN); - for(z = 0; z < info.directive_count; z++) - p->pri[z] = ntohl(p->pri[z]); - } + if (__collate_chain_pri_table != NULL) + free(__collate_chain_pri_table); + __collate_chain_pri_table = TMP_chain_pri_table; + for (i = 0; i < chains; i++) { + __collate_chain_pri_table[i].prim = + ntohl(__collate_chain_pri_table[i].prim); + __collate_chain_pri_table[i].sec = + ntohl(__collate_chain_pri_table[i].sec); } - if (info.large_pri_count > 0) { - struct __collate_st_large_char_pri *p = - TMP->__large_char_pri_table; - for(i = info.large_pri_count; i-- > 0; p++) { - p->val = ntohl(p->val); - for(z = 0; z < info.directive_count; z++) - p->pri.pri[z] = ntohl(p->pri.pri[z]); + __collate_substitute_nontrivial = 0; + for (i = 0; i < UCHAR_MAX + 1; i++) { + if (__collate_substitute_table[i][0] != i || + __collate_substitute_table[i][1] != 0) { + __collate_substitute_nontrivial = 1; + break; } } -#endif /* _BYTE_ORDER == _LITTLE_ENDIAN */ - (void)strcpy(TMP->__encoding, encoding); - (void)memcpy(&TMP->__info, &info, sizeof(info)); - __collate_data = TMP; - - __collate_load_error = (info.subst_count[0] > 0 || - info.subst_count[1] > 0); __collate_load_error = 0; -#ifdef LOCALE_DEBUG - fprintf(stderr, "__collate_load_tables: loaded successfully\n"); -#endif return (_LDP_LOADED); } -static int -__collate_wcsnlen(const wchar_t *s, int len) +u_char * +__collate_substitute(const u_char *s) { - int n = 0; - while (*s && n < len) { - s++; - n++; - } - return n; -} - -static struct __collate_st_subst * -substsearch(const wchar_t key, struct __collate_st_subst *tab, int n) -{ - int low = 0; - int high = n - 1; - int next, compar; - struct __collate_st_subst *p; - - while (low <= high) { - next = (low + high) / 2; - p = tab + next; - compar = key - p->val; - if (compar == 0) - return p; - if (compar > 0) - low = next + 1; - else - high = next - 1; - } - return NULL; -} - -wchar_t * -__collate_substitute(const wchar_t *s, int which) -{ int dest_len, len, nlen; - int n, delta, nsubst; - wchar_t *dest_str = NULL; - const wchar_t *fp; - struct __collate_st_subst *subst, *match; + int delta = strlen(s); + u_char *dest_str = NULL; if (s == NULL || *s == '\0') - return (__collate_wcsdup(L"")); - dest_len = wcslen(s); - nsubst = __collate_info->subst_count[which]; - if (nsubst <= 0) - return __collate_wcsdup(s); - subst = __collate_substitute_table[which]; - delta = dest_len / 4; - if (delta < 2) - delta = 2; - dest_str = (wchar_t *)malloc((dest_len += delta) * sizeof(wchar_t)); + return (__collate_strdup("")); + delta += delta / 8; + dest_str = malloc(dest_len = delta); if (dest_str == NULL) __collate_err(EX_OSERR, __func__); len = 0; while (*s) { - if ((match = substsearch(*s, subst, nsubst)) != NULL) { - fp = match->str; - n = __collate_wcsnlen(fp, STR_LEN); - } else { - fp = s; - n = 1; - } - nlen = len + n; + nlen = len + strlen(__collate_substitute_table[*s]); if (dest_len <= nlen) { - dest_str = reallocf(dest_str, (dest_len = nlen + delta) - * sizeof(wchar_t)); + dest_str = reallocf(dest_str, dest_len = nlen + delta); if (dest_str == NULL) __collate_err(EX_OSERR, __func__); } - wcsncpy(dest_str + len, fp, n); - len += n; - s++; + (void)strcpy(dest_str + len, __collate_substitute_table[*s++]); + len = nlen; } - dest_str[len] = 0; return (dest_str); } -static struct __collate_st_chain_pri * -chainsearch(const wchar_t *key, int *len) -{ - int low = 0; - int high = __collate_info->chain_count - 1; - int next, compar, l; - struct __collate_st_chain_pri *p; - struct __collate_st_chain_pri *tab = __collate_chain_pri_table; - - while (low <= high) { - next = (low + high) / 2; - p = tab + next; - compar = *key - *p->str; - if (compar == 0) { - l = __collate_wcsnlen(p->str, STR_LEN); - compar = wcsncmp(key, p->str, l); - if (compar == 0) { - *len = l; - return p; - } - } - if (compar > 0) - low = next + 1; - else - high = next - 1; - } - return NULL; -} - -static struct __collate_st_large_char_pri * -largesearch(const wchar_t key) -{ - int low = 0; - int high = __collate_info->large_pri_count - 1; - int next, compar; - struct __collate_st_large_char_pri *p; - struct __collate_st_large_char_pri *tab = - __collate_large_char_pri_table; - - while (low <= high) { - next = (low + high) / 2; - p = tab + next; - compar = key - p->val; - if (compar == 0) - return p; - if (compar > 0) - low = next + 1; - else - high = next - 1; - } - return NULL; -} - void -__collate_lookup(const wchar_t *t, int *len, int *prim, int *sec) +__collate_lookup(const u_char *t, int *len, int *prim, int *sec) { struct __collate_st_chain_pri *p2; - int l; *len = 1; *prim = *sec = 0; - p2 = chainsearch(t, &l); - /* use the chain if prim >= 0 */ - if (p2 && p2->pri[0] >= 0) { - *len = l; - *prim = p2->pri[0]; - *sec = p2->pri[1]; - return; - } - if (*t <= UCHAR_MAX) { - *prim = __collate_char_pri_table[*t].pri[0]; - *sec = __collate_char_pri_table[*t].pri[1]; - return; - } - if (__collate_info->large_pri_count > 0) { - struct __collate_st_large_char_pri *match; - match = largesearch(*t); - if (match) { - *prim = match->pri.pri[0]; - *sec = match->pri.pri[1]; + for (p2 = __collate_chain_pri_table; p2->str[0] != '\0'; p2++) { + if (*t == p2->str[0] && + strncmp(t, p2->str, strlen(p2->str)) == 0) { + *len = strlen(p2->str); + *prim = p2->prim; + *sec = p2->sec; return; } } - *prim = (l = __collate_info->undef_pri[0]) >= 0 ? l : *t - l; - *sec = (l = __collate_info->undef_pri[1]) >= 0 ? l : *t - l; + *prim = __collate_char_pri_table[*t].prim; + *sec = __collate_char_pri_table[*t].sec; } -void -__collate_lookup_which(const wchar_t *t, int *len, int *pri, int which) +u_char * +__collate_strdup(u_char *s) { - struct __collate_st_chain_pri *p2; - int p, l; + u_char *t = strdup(s); - *len = 1; - *pri = 0; - p2 = chainsearch(t, &l); - if (p2) { - p = p2->pri[which]; - /* use the chain if pri >= 0 */ - if (p >= 0) { - *len = l; - *pri = p; - return; - } - } - if (*t <= UCHAR_MAX) { - *pri = __collate_char_pri_table[*t].pri[which]; - return; - } - if (__collate_info->large_pri_count > 0) { - struct __collate_st_large_char_pri *match; - match = largesearch(*t); - if (match) { - *pri = match->pri.pri[which]; - return; - } - } - *pri = (l = __collate_info->undef_pri[which]) >= 0 ? l : *t - l; -} - -wchar_t * -__collate_mbstowcs(const char *s) -{ - static const mbstate_t initial; - mbstate_t st; - size_t len; - const char *ss; - wchar_t *wcs; - - ss = s; - st = initial; - if ((len = mbsrtowcs(NULL, &ss, 0, &st)) == (size_t)-1) - return NULL; - if ((wcs = (wchar_t *)malloc((len + 1) * sizeof(wchar_t))) == NULL) + if (t == NULL) __collate_err(EX_OSERR, __func__); - st = initial; - mbsrtowcs(wcs, &s, len, &st); - wcs[len] = 0; - - return (wcs); + return (t); } -wchar_t * -__collate_wcsdup(const wchar_t *s) -{ - size_t len = wcslen(s) + 1; - wchar_t *wcs; - - if ((wcs = (wchar_t *)malloc(len * sizeof(wchar_t))) == NULL) - __collate_err(EX_OSERR, __func__); - wcscpy(wcs, s); - return (wcs); -} - void -__collate_xfrm(const wchar_t *src, wchar_t **xf) -{ - int pri, len; - size_t slen; - const wchar_t *t; - wchar_t *tt = NULL, *tr = NULL; - int direc, pass; - wchar_t *xfp; - struct __collate_st_info *info = __collate_info; - int sverrno; - - for(pass = 0; pass < COLL_WEIGHTS_MAX; pass++) - xf[pass] = NULL; - for(pass = 0; pass < info->directive_count; pass++) { - direc = info->directive[pass]; - if (pass == 0 || !(info->flags & COLLATE_SUBST_DUP)) { - sverrno = errno; - free(tt); - errno = sverrno; - tt = __collate_substitute(src, pass); - } - if (direc & DIRECTIVE_BACKWARD) { - wchar_t *bp, *fp, c; - sverrno = errno; - free(tr); - errno = sverrno; - tr = __collate_wcsdup(tt ? tt : src); - bp = tr; - fp = tr + wcslen(tr) - 1; - while(bp < fp) { - c = *bp; - *bp++ = *fp; - *fp-- = c; - } - t = (const wchar_t *)tr; - } else if (tt) - t = (const wchar_t *)tt; - else - t = (const wchar_t *)src; - sverrno = errno; - if ((xf[pass] = (wchar_t *)malloc(sizeof(wchar_t) * - (wcslen(t) + 1))) == NULL) { - errno = sverrno; - slen = 0; - goto end; - } - errno = sverrno; - xfp = xf[pass]; - if (direc & DIRECTIVE_POSITION) { - while(*t) { - __collate_lookup_which(t, &len, &pri, pass); - t += len; - if (pri <= 0) { - if (pri < 0) { - errno = EINVAL; - slen = 0; - goto end; - } - pri = COLLATE_MAX_PRIORITY; - } - *xfp++ = pri; - } - } else { - while(*t) { - __collate_lookup_which(t, &len, &pri, pass); - t += len; - if (pri <= 0) { - if (pri < 0) { - errno = EINVAL; - slen = 0; - goto end; - } - continue; - } - *xfp++ = pri; - } - } - *xfp = 0; - } - end: - sverrno = errno; - free(tt); - free(tr); - errno = sverrno; -} - -void __collate_err(int ex, const char *f) { const char *s; @@ -584,350 +275,24 @@ exit(ex); } -/* - * __collate_collating_symbol takes the multibyte string specified by - * src and slen, and using ps, converts that to a wide character. Then - * it is checked to verify it is a collating symbol, and then copies - * it to the wide character string specified by dst and dlen (the - * results are not null terminated). The length of the wide characters - * copied to dst is returned if successful. Zero is returned if no such - * collating symbol exists. (size_t)-1 is returned if there are wide-character - * conversion errors, if the length of the converted string is greater that - * STR_LEN or if dlen is too small. It is up to the calling routine to - * preserve the mbstate_t structure as needed. - */ -size_t -__collate_collating_symbol(wchar_t *dst, size_t dlen, const char *src, - size_t slen, mbstate_t *ps) -{ - wchar_t wname[STR_LEN]; - wchar_t w, *wp; - size_t len, l; - - /* POSIX locale */ - if (__collate_load_error) { - if (dlen < 1) - return (size_t)-1; - if (slen != 1 || !isascii(*src)) - return 0; - *dst = *src; - return 1; - } - for(wp = wname, len = 0; slen > 0; len++) { - l = mbrtowc(&w, src, slen, ps); - if (l == (size_t)-1 || l == (size_t)-2) - return (size_t)-1; - if (l == 0) - break; - if (len >= STR_LEN) - return -1; - *wp++ = w; - src += l; - slen = (long)slen - (long)l; - } - if (len == 0 || len > dlen) - return (size_t)-1; - if (len == 1) { - if (*wname <= UCHAR_MAX) { - if (__collate_char_pri_table[*wname].pri[0] >= 0) { - if (dlen > 0) - *dst = *wname; - return 1; - } - return 0; - } else if (__collate_info->large_pri_count > 0) { - struct __collate_st_large_char_pri *match; - match = largesearch(*wname); - if (match && match->pri.pri[0] >= 0) { - if (dlen > 0) - *dst = *wname; - return 1; - } - } - return 0; - } - *wp = 0; - if (__collate_info->chain_count > 0) { - struct __collate_st_chain_pri *match; - int ll; - match = chainsearch(wname, &ll); - if (match) { - if (ll < dlen) - dlen = ll; - wcsncpy(dst, wname, dlen); - return ll; - } - } - return 0; -} - -/* - * __collate_equiv_class returns the equivalence class number for the symbol - * specified by src and slen, using ps to convert from multi-byte to wide - * character. Zero is returned if the symbol is not in an equivalence - * class. -1 is returned if there are wide character conversion error, - * if there are any greater-than-8-bit characters or if a multi-byte symbol - * is greater or equal to STR_LEN in length. It is up to the calling - * routine to preserve the mbstate_t structure as needed. - */ -int -__collate_equiv_class(const char *src, size_t slen, mbstate_t *ps) -{ - wchar_t wname[STR_LEN]; - wchar_t w, *wp; - size_t len, l; - int e; - - /* POSIX locale */ - if (__collate_load_error) - return 0; - for(wp = wname, len = 0; slen > 0; len++) { - l = mbrtowc(&w, src, slen, ps); - if (l == (size_t)-1 || l == (size_t)-2) - return -1; - if (l == 0) - break; - if (len >= STR_LEN) - return -1; - *wp++ = w; - src += l; - slen = (long)slen - (long)l; - } - if (len == 0) - return -1; - if (len == 1) { - e = -1; - if (*wname <= UCHAR_MAX) - e = __collate_char_pri_table[*wname].pri[0]; - else if (__collate_info->large_pri_count > 0) { - struct __collate_st_large_char_pri *match; - match = largesearch(*wname); - if (match) - e = match->pri.pri[0]; - } - if (e == 0) - return IGNORE_EQUIV_CLASS; - return e > 0 ? e : 0; - } - *wp = 0; - if (__collate_info->chain_count > 0) { - struct __collate_st_chain_pri *match; - int ll; - match = chainsearch(wname, &ll); - if (match) { - e = match->pri[0]; - if (e == 0) - return IGNORE_EQUIV_CLASS; - return e < 0 ? -e : e; - } - } - return 0; -} - -/* - * __collate_equiv_match tries to match any single or multi-character symbol - * in equivalence class equiv_class in the multi-byte string specified by src - * and slen. If start is non-zero, it is taken to be the first (pre-converted) - * wide character. Subsequence wide characters, if needed, will use ps in - * the conversion. On a successful match, the length of the matched string - * is returned (including the start character). If dst is non-NULL, the - * matched wide-character string is copied to dst, a wide character array of - * length dlen (the results are not zero-terminated). If rlen is non-NULL, - * the number of character in src actually used is returned. Zero is - * returned by __collate_equiv_match if there is no match. (size_t)-1 is - * returned on error: if there were conversion errors or if dlen is too small - * to accept the results. On no match or error, ps is restored to its incoming - * state. - */ -size_t -__collate_equiv_match(int equiv_class, wchar_t *dst, size_t dlen, wchar_t start, const char *src, size_t slen, mbstate_t *ps, size_t *rlen) -{ - wchar_t w; - size_t len, l, clen; - int i; - wchar_t buf[STR_LEN], *wp; - mbstate_t save; - const char *s = src; - size_t sl = slen; - struct __collate_st_chain_pri *ch = NULL; - - /* POSIX locale */ - if (__collate_load_error) - return (size_t)-1; - if (equiv_class == IGNORE_EQUIV_CLASS) - equiv_class = 0; - if (ps) - save = *ps; - wp = buf; - len = clen = 0; - if (start) { - *wp++ = start; - len = 1; - } - /* convert up to the max chain length */ - while(sl > 0 && len < __collate_info->chain_max_len) { - l = mbrtowc(&w, s, sl, ps); - if (l == (size_t)-1 || l == (size_t)-2 || l == 0) - break; - *wp++ = w; - s += l; - clen += l; - sl -= l; - len++; - } - *wp = 0; - if (len > 1 && (ch = chainsearch(buf, &i)) != NULL) { - int e = ch->pri[0]; - if (e < 0) - e = -e; - if (e == equiv_class) - goto found; - } - /* try single character */ - i = 1; - if (*buf <= UCHAR_MAX) { - if (equiv_class == __collate_char_pri_table[*buf].pri[0]) - goto found; - } else if (__collate_info->large_pri_count > 0) { - struct __collate_st_large_char_pri *match; - match = largesearch(*buf); - if (match && equiv_class == match->pri.pri[0]) - goto found; - } - /* no match */ - if (ps) - *ps = save; - return 0; -found: - /* if we converted more than we used, restore to initial and reconvert - * up to what did match */ - if (i < len) { - len = i; - if (ps) - *ps = save; - if (start) - i--; - clen = 0; - while(i-- > 0) { - l = mbrtowc(&w, src, slen, ps); - src += l; - clen += l; - slen -= l; - } - } - if (dst) { - if (dlen < len) { - if (ps) - *ps = save; - return (size_t)-1; - } - for(wp = buf; len > 0; len--) - *dst++ = *wp++; - } - if (rlen) - *rlen = clen; - return len; -} - -#if _BYTE_ORDER == _LITTLE_ENDIAN -static void -wntohl(wchar_t *str, int len) -{ - for(; *str && len > 0; str++, len--) - *str = ntohl(*str); -} -#endif /* _BYTE_ORDER == _LITTLE_ENDIAN */ - #ifdef COLLATE_DEBUG -static char * -show(int c) -{ - static char buf[5]; - - if (c >=32 && c <= 126) - sprintf(buf, "'%c' ", c); - else - sprintf(buf, "\\x{%02x}", c); - return buf; -} - -static char * -showwcs(const wchar_t *t, int len) -{ - static char buf[64]; - char *cp = buf; - - for(; *t && len > 0; len--, t++) { - if (*t >=32 && *t <= 126) - *cp++ = *t; - else { - sprintf(cp, "\\x{%02x}", *t); - cp += strlen(cp); - } - } - *cp = 0; - return buf; -} - void __collate_print_tables() { - int i, z; - locale_t loc = __current_locale(); + int i; + struct __collate_st_chain_pri *p2; - printf("Info: p=%d s=%d f=0x%02x m=%d dc=%d up=%d us=%d pc=%d " - "sc=%d cc=%d lc=%d\n", - __collate_info->directive[0], __collate_info->directive[1], - __collate_info->flags, __collate_info->chain_max_len, - __collate_info->directive_count, - __collate_info->undef_pri[0], __collate_info->undef_pri[1], - __collate_info->subst_count[0], __collate_info->subst_count[1], - __collate_info->chain_count, __collate_info->large_pri_count); - for(z = 0; z < __collate_info->directive_count; z++) { - if (__collate_info->subst_count[z] > 0) { - struct __collate_st_subst *p2 = - __collate_substitute_table[z]; - if (z == 0 && (__collate_info->flags & - COLLATE_SUBST_DUP)) - printf("Both substitute tables:\n"); - else - printf("Substitute table %d:\n", z); - for (i = __collate_info->subst_count[z]; i-- > 0; p2++) - printf("\t%s --> \"%s\"\n", - show(p2->val), - showwcs(p2->str, STR_LEN)); - } - } - if (__collate_info->chain_count > 0) { - printf("Chain priority table:\n"); - struct __collate_st_chain_pri *p2 = __collate_chain_pri_table; - for (i = __collate_info->chain_count; i-- > 0; p2++) { - printf("\t\"%s\" :", showwcs(p2->str, STR_LEN)); - for(z = 0; z < __collate_info->directive_count; z++) - printf(" %d", p2->pri[z]); - putchar('\n'); - } - } + printf("Substitute table:\n"); + for (i = 0; i < UCHAR_MAX + 1; i++) + if (i != *__collate_substitute_table[i]) + printf("\t'%c' --> \"%s\"\n", i, + __collate_substitute_table[i]); + printf("Chain priority table:\n"); + for (p2 = __collate_chain_pri_table; p2->str[0] != '\0'; p2++) + printf("\t\"%s\" : %d %d\n", p2->str, p2->prim, p2->sec); printf("Char priority table:\n"); - { - struct __collate_st_char_pri *p2 = __collate_char_pri_table; - for (i = 0; i < UCHAR_MAX + 1; i++, p2++) { - printf("\t%s :", show(i)); - for(z = 0; z < __collate_info->directive_count; z++) - printf(" %d", p2->pri[z]); - putchar('\n'); - } - } - if (__collate_info->large_pri_count > 0) { - struct __collate_st_large_char_pri *p2 = - __collate_large_char_pri_table; - printf("Large priority table:\n"); - for (i = __collate_info->large_pri_count; i-- > 0; p2++) { - printf("\t%s :", show(p2->val)); - for(z = 0; z < __collate_info->directive_count; z++) >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Aug 3 20:59:48 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CACE81065681; Sun, 3 Aug 2008 20:59:47 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8E279106567F for ; Sun, 3 Aug 2008 20:59:47 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 61D138FC29 for ; Sun, 3 Aug 2008 20:59:47 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m73KxlJb094657 for ; Sun, 3 Aug 2008 20:59:47 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m73Kxl8F094655 for perforce@freebsd.org; Sun, 3 Aug 2008 20:59:47 GMT (envelope-from ed@FreeBSD.org) Date: Sun, 3 Aug 2008 20:59:47 GMT Message-Id: <200808032059.m73Kxl8F094655@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 146558 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, 03 Aug 2008 20:59:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=146558 Change 146558 by ed@ed_dull on 2008/08/03 20:59:21 Don't forget to wake up any readers. Affected files ... .. //depot/projects/mpsafetty/sys/ia64/ia64/ssc.c#2 edit Differences ... ==== //depot/projects/mpsafetty/sys/ia64/ia64/ssc.c#2 (text+ko) ==== @@ -173,6 +173,7 @@ tty_lock(tp); while ((c = ssc_cngetc(NULL)) != -1) ttydisc_rint(tp, c, 0); + ttydisc_rint_done(tp); tty_unlock(tp); ssc_timeouthandle = timeout(ssc_timeout, tp, polltime); From owner-p4-projects@FreeBSD.ORG Sun Aug 3 21:27:20 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 91E731065678; Sun, 3 Aug 2008 21:27:20 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 545FA1065675 for ; Sun, 3 Aug 2008 21:27:20 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 27C2D8FC21 for ; Sun, 3 Aug 2008 21:27:20 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m73LRKaI099470 for ; Sun, 3 Aug 2008 21:27:20 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m73LRJnL099468 for perforce@freebsd.org; Sun, 3 Aug 2008 21:27:19 GMT (envelope-from ed@FreeBSD.org) Date: Sun, 3 Aug 2008 21:27:19 GMT Message-Id: <200808032127.m73LRJnL099468@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 146561 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, 03 Aug 2008 21:27:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=146561 Change 146561 by ed@ed_flippo on 2008/08/03 21:26:46 Silly mistake: don't destroy the mutex we're borrowing when deallocating the TTY, but our own internal mutex. Affected files ... .. //depot/projects/mpsafetty/sys/kern/tty.c#13 edit Differences ... ==== //depot/projects/mpsafetty/sys/kern/tty.c#13 (text+ko) ==== @@ -904,7 +904,7 @@ cv_destroy(&tp->t_bgwait); cv_destroy(&tp->t_dcdwait); - mtx_destroy(tp->t_mtx); + mtx_destroy(&tp->t_mtxobj); ttydevsw_free(tp); free(tp, M_TTY); } From owner-p4-projects@FreeBSD.ORG Sun Aug 3 21:41:35 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3732110656C4; Sun, 3 Aug 2008 21:41:35 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D87F910656C0 for ; Sun, 3 Aug 2008 21:41:34 +0000 (UTC) (envelope-from konrad@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C44468FC15 for ; Sun, 3 Aug 2008 21:41:34 +0000 (UTC) (envelope-from konrad@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m73LfYJS000914 for ; Sun, 3 Aug 2008 21:41:34 GMT (envelope-from konrad@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m73LfYoH000912 for perforce@freebsd.org; Sun, 3 Aug 2008 21:41:34 GMT (envelope-from konrad@FreeBSD.org) Date: Sun, 3 Aug 2008 21:41:34 GMT Message-Id: <200808032141.m73LfYoH000912@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to konrad@FreeBSD.org using -f From: Konrad Jankowski To: Perforce Change Reviews Cc: Subject: PERFORCE change 146565 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, 03 Aug 2008 21:41:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=146565 Change 146565 by konrad@vspredator on 2008/08/03 21:41:32 Finally, only the relevant deltas. Affected files ... .. //depot/projects/soc2008/konrad_collation/libc/locale/collate.h#6 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/collcmp.c#6 edit .. //depot/projects/soc2008/konrad_collation/libc/locale/setlocale.c#6 edit .. //depot/projects/soc2008/konrad_collation/libc/string/strcoll.c#6 edit .. //depot/projects/soc2008/konrad_collation/libc/string/strxfrm.c#6 edit .. //depot/projects/soc2008/konrad_collation/libc/string/wcscoll.c#6 edit .. //depot/projects/soc2008/konrad_collation/libc/string/wcsxfrm.c#6 edit Differences ... ==== //depot/projects/soc2008/konrad_collation/libc/locale/collate.h#6 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libc/locale/collate.h,v 1.15 2005/02/27 20:31:13 ru Exp $ + * $FreeBSD: src/lib/libc/locale/collate.h,v 1.14 2002/08/30 20:26:02 ache Exp $ */ #ifndef _COLLATE_H_ @@ -33,34 +33,91 @@ #include #include #include +#include "setlocale.h" /* for ENCODING_LEN */ + +#undef COLL_WEIGHTS_MAX +#define COLL_WEIGHTS_MAX 4 #define STR_LEN 10 #define TABLE_SIZE 100 -#define COLLATE_VERSION "1.0\n" -#define COLLATE_VERSION1_2 "1.2\n" +#define COLLATE_VERSION "1.0\n" +#define COLLATE_VERSION1_1 "1.1\n" +#define COLLATE_VERSION1_1A "1.1A\n" +#define COLLATE_VERSION1_2 "1.2\n" +#define COLLATE_VERSION1_3 "1.3\n" +/* see discussion in string/FreeBSD/strxfrm for this value */ +#define COLLATE_MAX_PRIORITY ((1 << 24) - 1) + +#define DIRECTIVE_UNDEF 0x00 +#define DIRECTIVE_FORWARD 0x01 +#define DIRECTIVE_BACKWARD 0x02 +#define DIRECTIVE_POSITION 0x04 + +#define DIRECTIVE_DIRECTION_MASK (DIRECTIVE_FORWARD | DIRECTIVE_BACKWARD) + +#define COLLATE_SUBST_DUP 0x0001 + +#define IGNORE_EQUIV_CLASS 1 + +struct __collate_st_info { + __uint8_t directive[COLL_WEIGHTS_MAX]; + __uint8_t flags; +#if _BYTE_ORDER == _LITTLE_ENDIAN + unsigned int directive_count:4; + unsigned int chain_max_len:4; +#else + unsigned int chain_max_len:4; + unsigned int directive_count:4; +#endif + __int32_t undef_pri[COLL_WEIGHTS_MAX]; + __int32_t subst_count[COLL_WEIGHTS_MAX]; + __int32_t chain_count; + __int32_t large_pri_count; +}; struct __collate_st_char_pri { - int prim, sec; + __int32_t pri[COLL_WEIGHTS_MAX]; }; struct __collate_st_chain_pri { - u_char str[STR_LEN]; - int prim, sec; + wchar_t str[STR_LEN]; + __int32_t pri[COLL_WEIGHTS_MAX]; +}; +struct __collate_st_large_char_pri { + __int32_t val; + struct __collate_st_char_pri pri; +}; +struct __collate_st_subst { + __int32_t val; + wchar_t str[STR_LEN]; +}; + +struct __locale_st_collate { + char __encoding[ENCODING_LEN + 1]; + struct __collate_st_info __info; + struct __collate_st_subst *__substitute_table[COLL_WEIGHTS_MAX]; + struct __collate_st_chain_pri *__chain_pri_table; + struct __collate_st_large_char_pri *__large_char_pri_table; + struct __collate_st_char_pri __char_pri_table[UCHAR_MAX + 1]; }; extern int __collate_load_error; extern int __collate_substitute_nontrivial; -#define __collate_substitute_table (*__collate_substitute_table_ptr) -extern u_char __collate_substitute_table[UCHAR_MAX + 1][STR_LEN]; -#define __collate_char_pri_table (*__collate_char_pri_table_ptr) -extern struct __collate_st_char_pri __collate_char_pri_table[UCHAR_MAX + 1]; -extern struct __collate_st_chain_pri *__collate_chain_pri_table; +extern struct __locale_st_collate *__collate_data; __BEGIN_DECLS -u_char *__collate_strdup(u_char *); -u_char *__collate_substitute(const u_char *); +wchar_t *__collate_mbstowcs(const char *); +wchar_t *__collate_wcsdup(const wchar_t *); +wchar_t *__collate_substitute(const wchar_t *, int); int __collate_load_tables(const char *); -void __collate_lookup(const u_char *, int *, int *, int *); -int __collate_range_cmp(int, int); +void __collate_lookup(const wchar_t *, int *, int *, int *); +void __collate_lookup_which(const wchar_t *, int *, int *, int); +void __collate_xfrm(const wchar_t *, wchar_t **); +int __collate_range_cmp(wchar_t, wchar_t); +size_t __collate_collating_symbol(wchar_t *, size_t, const char *, size_t, + mbstate_t *); +int __collate_equiv_class(const char *, size_t, mbstate_t *); +size_t __collate_equiv_match(int, wchar_t *, size_t, wchar_t, const char *, + size_t, mbstate_t *, size_t *); #ifdef COLLATE_DEBUG void __collate_print_tables(void); #endif ==== //depot/projects/soc2008/konrad_collation/libc/locale/collcmp.c#6 (text+ko) ==== @@ -28,17 +28,18 @@ __FBSDID("$FreeBSD: src/lib/libc/locale/collcmp.c,v 1.18 2005/02/27 14:54:23 phantom Exp $"); #include +#include #include "collate.h" /* * Compare two characters using collate */ -int __collate_range_cmp(int c1, int c2) +int __collate_range_cmp(wchar_t c1, wchar_t c2) { - static char s1[2], s2[2]; + static wchar_t s1[2], s2[2]; s1[0] = c1; s2[0] = c2; - return (strcoll(s1, s2)); + return (wcscoll(s1, s2)); } ==== //depot/projects/soc2008/konrad_collation/libc/locale/setlocale.c#6 (text+ko) ==== @@ -46,6 +46,7 @@ #include #include #include +#include #include "collate.h" #include "lmonetary.h" /* for __monetary_load_locale() */ #include "lnumeric.h" /* for __numeric_load_locale() */ @@ -105,6 +106,10 @@ int i, j, len, saverr; const char *env, *r; +#ifdef LOCALE_DEBUG + fprintf(stderr, "setlocale: %s: %s\n", categories[category], + locale ? locale : "NULL"); +#endif if (category < LC_ALL || category >= _LC_LAST) { errno = EINVAL; return (NULL); @@ -191,11 +196,16 @@ for (i = 1; i < _LC_LAST; ++i) { (void)strcpy(saved_categories[i], current_categories[i]); - if (loadlocale(i) == NULL) { + if ((r = loadlocale(i)) == NULL) { saverr = errno; for (j = 1; j < i; j++) { (void)strcpy(new_categories[j], saved_categories[j]); +#ifdef LOCALE_DEBUG + fprintf(stderr, "setlocale: resetting " + "locale to %s\n", + saved_categories[j]); +#endif if (loadlocale(j) == NULL) { (void)strcpy(new_categories[j], "C"); (void)loadlocale(j); @@ -204,6 +214,9 @@ errno = saverr; return (NULL); } +#ifdef LOCALE_DEBUG + fprintf(stderr, "setlocale: loadlocale returned %s\n", r); +#endif } return (currentlocale()); } @@ -236,6 +249,10 @@ int (*func)(const char *); int saved_errno; +#ifdef LOCALE_DEBUG + fprintf(stderr, "loadlocale: %s->%s (was %s)\n", + categories[category], new, old); +#endif if ((new[0] == '.' && (new[1] == '\0' || (new[1] == '.' && new[2] == '\0'))) || strchr(new, '/') != NULL) { @@ -280,6 +297,9 @@ (void)strcpy(old, new); return (old); } +#ifdef LOCALE_DEBUG + fprintf(stderr, "loadlocale: returning NULL\n"); +#endif return (NULL); } @@ -327,6 +347,9 @@ } else _PathLocale = _PATH_LOCALE; } +#ifdef LOCALE_DEBUG + fprintf(stderr, "__detect_path_locale: %s\n", _PathLocale); +#endif return (0); } ==== //depot/projects/soc2008/konrad_collation/libc/string/strcoll.c#6 (text+ko) ==== @@ -30,57 +30,31 @@ #include #include +#include +#include #include "collate.h" int -strcoll(s, s2) - const char *s, *s2; +strcoll(const char *s, const char *s2) { - int len, len2, prim, prim2, sec, sec2, ret, ret2; - const char *t, *t2; - char *tt, *tt2; + int ret; + const wchar_t *t = NULL, *t2 = NULL; + int sverrno; - if (__collate_load_error) + if (__collate_load_error || (t = __collate_mbstowcs(s)) == NULL || + (t2 = __collate_mbstowcs(s2)) == NULL) { + sverrno = errno; + free((void *)t); + free((void *)t2); + errno = sverrno; return strcmp(s, s2); + } - len = len2 = 1; - ret = ret2 = 0; - if (__collate_substitute_nontrivial) { - t = tt = __collate_substitute(s); - t2 = tt2 = __collate_substitute(s2); - } else { - tt = tt2 = NULL; - t = s; - t2 = s2; - } - while(*t && *t2) { - prim = prim2 = 0; - while(*t && !prim) { - __collate_lookup(t, &len, &prim, &sec); - t += len; - } - while(*t2 && !prim2) { - __collate_lookup(t2, &len2, &prim2, &sec2); - t2 += len2; - } - if(!prim || !prim2) - break; - if(prim != prim2) { - ret = prim - prim2; - goto end; - } - if(!ret2) - ret2 = sec - sec2; - } - if(!*t && *t2) - ret = -(int)((u_char)*t2); - else if(*t && !*t2) - ret = (u_char)*t; - else if(!*t && !*t2) - ret = ret2; - end: - free(tt); - free(tt2); + ret = wcscoll(t, t2); + sverrno = errno; + free((void *)t); + free((void *)t2); + errno = sverrno; return ret; } ==== //depot/projects/soc2008/konrad_collation/libc/string/strxfrm.c#6 (text+ko) ==== @@ -30,22 +30,53 @@ #include #include +#include +#include #include "collate.h" +/* + * In the non-POSIX case, we transform each character into a string of + * characters representing the character's priority. Since char is usually + * signed, we are limited by 7 bits per byte. To avoid zero, we need to add + * XFRM_OFFSET, so we can't use a full 7 bits. For simplicity, we choose 6 + * bits per byte. We choose 4 bytes per character as a good compromise + * between maximum coverage and minimum size. This gives 24 bits, or 16M + * priorities. So we choose COLLATE_MAX_PRIORITY to be (2^24 - 1). This + * this can be increased if more is needed. + */ + +#define XFRM_BYTES 4 +#define XFRM_OFFSET ('0') /* make all printable characters */ +#define XFRM_SHIFT 6 +#define XFRM_MASK ((1 << XFRM_SHIFT) - 1) + +static void +xfrm(unsigned char *p, int pri) +{ + + p[3] = (pri & XFRM_MASK) + XFRM_OFFSET; + pri >>= XFRM_SHIFT; + p[2] = (pri & XFRM_MASK) + XFRM_OFFSET; + pri >>= XFRM_SHIFT; + p[1] = (pri & XFRM_MASK) + XFRM_OFFSET; + pri >>= XFRM_SHIFT; + p[0] = (pri & XFRM_MASK) + XFRM_OFFSET; +} + size_t strxfrm(char * __restrict dest, const char * __restrict src, size_t len) { - int prim, sec, l; size_t slen; - char *s, *ss; + wchar_t *wcs, *xf[2]; + int sverrno; - if (!*src) { + if (!*src && dest) { if (len > 0) *dest = '\0'; return 0; } - if (__collate_load_error) { + if (__collate_load_error || (wcs = __collate_mbstowcs(src)) == NULL) { slen = strlen(src); if (len > 0) { if (slen < len) @@ -58,26 +89,57 @@ return slen; } - slen = 0; - prim = sec = 0; - ss = s = __collate_substitute(src); - while (*s) { - while (*s && !prim) { - __collate_lookup(s, &l, &prim, &sec); - s += l; + __collate_xfrm(wcs, xf); + + slen = wcslen(xf[0]) * XFRM_BYTES; + if (xf[1]) + slen += (wcslen(xf[1]) + 1) * XFRM_BYTES; + if (len > 0) { + wchar_t *w = xf[0]; + int b = 0; + unsigned char buf[XFRM_BYTES]; + unsigned char *bp; + while (len > 1) { + if (!b) { + if (!*w) + break; + xfrm(bp = buf, *w++); + b = XFRM_BYTES; + } + *dest++ = *(char *)bp++; + b--; + len--; } - if (prim) { - if (len > 1) { - *dest++ = (char)prim; + if ((w = xf[1]) != NULL) { + xfrm(bp = buf, 0); + b = XFRM_BYTES; + while (len > 1) { + if (!b) + break; + *dest++ = *(char *)bp++; + b--; + len--; + } + b = 0; + while (len > 1) { + if (!b) { + if (!*w) + break; + xfrm(bp = buf, *w++); + b = XFRM_BYTES; + } + *dest++ = *(char *)bp++; + b--; len--; } - slen++; - prim = 0; } - } - free(ss); - if (len > 0) - *dest = '\0'; + *dest = 0; + } + sverrno = errno; + free(wcs); + free(xf[0]); + free(xf[1]); + errno = sverrno; return slen; } ==== //depot/projects/soc2008/konrad_collation/libc/string/wcscoll.c#6 (text+ko) ==== @@ -27,72 +27,220 @@ #include __FBSDID("$FreeBSD: src/lib/libc/string/wcscoll.c,v 1.3 2004/04/07 09:47:56 tjr Exp $"); + #include #include #include #include #include "collate.h" -static char *__mbsdup(const wchar_t *); +#define NOTFORWARD (DIRECTIVE_BACKWARD | DIRECTIVE_POSITION) -/* - * Placeholder implementation of wcscoll(). Attempts to use the single-byte - * collation ordering where possible, and falls back on wcscmp() in locales - * with extended character sets. - */ int wcscoll(const wchar_t *ws1, const wchar_t *ws2) { - char *mbs1, *mbs2; - int diff, sverrno; + int sverrno; + int len, len2, prim, prim2, sec, sec2, ret, ret2; + const wchar_t *t, *t2; + wchar_t *tt = NULL, *tt2 = NULL; + wchar_t *tr = NULL, *tr2 = NULL; + struct __collate_st_info *info; - if (__collate_load_error || MB_CUR_MAX > 1) + if (__collate_load_error) /* - * Locale has no special collating order, could not be - * loaded, or has an extended character set; do a fast binary - * comparison. + * Locale has no special collating order or could not be + * loaded, do a fast binary comparison. */ return (wcscmp(ws1, ws2)); - if ((mbs1 = __mbsdup(ws1)) == NULL || (mbs2 = __mbsdup(ws2)) == NULL) { - /* - * Out of memory or illegal wide chars; fall back to wcscmp() - * but leave errno indicating the error. Callers that don't - * check for error will get a reasonable but often slightly - * incorrect result. - */ - sverrno = errno; - free(mbs1); - errno = sverrno; - return (wcscmp(ws1, ws2)); + info = &__collate_data->__info; + len = len2 = 1; + ret = ret2 = 0; + + if ((info->directive[0] & NOTFORWARD) || + (info->directive[1] & NOTFORWARD) || + (!(info->flags && COLLATE_SUBST_DUP) && + (info->subst_count[0] > 0 || info->subst_count[1] > 0))) { + int direc, pass; + for(pass = 0; pass < info->directive_count; pass++) { + direc = info->directive[pass]; + if (pass == 0 || !(info->flags & COLLATE_SUBST_DUP)) { + free(tt); + tt = __collate_substitute(ws1, pass); + free(tt2); + tt2 = tt ? __collate_substitute(ws2, pass) : + NULL; + } + if (direc & DIRECTIVE_BACKWARD) { + wchar_t *bp, *fp, c; + tr = __collate_wcsdup(tt ? tt : ws1); + bp = tr; + fp = tr + wcslen(tr) - 1; + while(bp < fp) { + c = *bp; + *bp++ = *fp; + *fp-- = c; + } + tr2 = __collate_wcsdup(tt2 ? tt2 : ws2); + bp = tr2; + fp = tr2 + wcslen(tr2) - 1; + while(bp < fp) { + c = *bp; + *bp++ = *fp; + *fp-- = c; + } + t = (const wchar_t *)tr; + t2 = (const wchar_t *)tr2; + } else if (tt) { + t = (const wchar_t *)tt; + t2 = (const wchar_t *)tt2; + } else { + t = (const wchar_t *)ws1; + t2 = (const wchar_t *)ws2; + } + if(direc & DIRECTIVE_POSITION) { + while(*t && *t2) { + prim = prim2 = 0; + __collate_lookup_which(t, &len, + &prim, pass); + if (prim <= 0) { + if (prim < 0) { + errno = EINVAL; + ret = -1; + goto end; + } + prim = COLLATE_MAX_PRIORITY; + } + __collate_lookup_which(t2, &len2, + &prim2, pass); + if (prim2 <= 0) { + if (prim2 < 0) { + errno = EINVAL; + ret = -1; + goto end; + } + prim2 = COLLATE_MAX_PRIORITY; + } + if(prim != prim2) { + ret = prim - prim2; + goto end; + } + t += len; + t2 += len2; + } + } else { + while(*t && *t2) { + prim = prim2 = 0; + while(*t) { + __collate_lookup_which(t, &len, + &prim, pass); + if(prim > 0) + break; + if (prim < 0) { + errno = EINVAL; + ret = -1; + goto end; + } + t += len; + } + while(*t2) { + __collate_lookup_which(t2, + &len2, &prim2, pass); + if(prim2 > 0) + break; + if (prim2 < 0) { + errno = EINVAL; + ret = -1; + goto end; + } + t2 += len2; + } + if(!prim || !prim2) + break; + if(prim != prim2) { + ret = prim - prim2; + goto end; + } + t += len; + t2 += len2; + } + } + if(!*t) { + if(*t2) { + ret = -(int)*t2; + goto end; + } + } else { + ret = *t; + goto end; + } + } + ret = 0; + goto end; } - diff = strcoll(mbs1, mbs2); + /* + * Optimized common case: order_start forward;forward and duplicate + * (or no) substitute tables. + */ + tt = __collate_substitute(ws1, 0); + if (tt == NULL) { + tt2 = NULL; + t = (const wchar_t *)ws1; + t2 = (const wchar_t *)ws2; + } else { + tt2 = __collate_substitute(ws2, 0); + t = (const wchar_t *)tt; + t2 = (const wchar_t *)tt2; + } + while(*t && *t2) { + prim = prim2 = 0; + while(*t) { + __collate_lookup(t, &len, &prim, &sec); + if (prim > 0) + break; + if (prim < 0) { + errno = EINVAL; + ret = -1; + goto end; + } + t += len; + } + while(*t2) { + __collate_lookup(t2, &len2, &prim2, &sec2); + if (prim2 > 0) + break; + if (prim2 < 0) { + errno = EINVAL; + ret = -1; + goto end; + } + t2 += len2; + } + if(!prim || !prim2) + break; + if(prim != prim2) { + ret = prim - prim2; + goto end; + } + if(!ret2) + ret2 = sec - sec2; + t += len; + t2 += len2; + } + if(!*t && *t2) + ret = -(int)*t2; + else if(*t && !*t2) + ret = *t; + else if(!*t && !*t2) + ret = ret2; + end: sverrno = errno; - free(mbs1); - free(mbs2); + free(tt); + free(tt2); + free(tr); + free(tr2); errno = sverrno; - return (diff); -} - -static char * -__mbsdup(const wchar_t *ws) -{ - static const mbstate_t initial; - mbstate_t st; - const wchar_t *wcp; - size_t len; - char *mbs; - - wcp = ws; - st = initial; - if ((len = wcsrtombs(NULL, &wcp, 0, &st)) == (size_t)-1) - return (NULL); - if ((mbs = malloc(len + 1)) == NULL) - return (NULL); - st = initial; - wcsrtombs(mbs, &ws, len + 1, &st); - - return (mbs); + return ret; } ==== //depot/projects/soc2008/konrad_collation/libc/string/wcsxfrm.c#6 (text+ko) ==== @@ -34,20 +34,17 @@ #include #include #include +#include #include "collate.h" -static char *__mbsdup(const wchar_t *); +#define WCS_XFRM_OFFSET 1 -/* - * Placeholder wcsxfrm() implementation. See wcscoll.c for a description of - * the logic used. - */ size_t wcsxfrm(wchar_t * __restrict dest, const wchar_t * __restrict src, size_t len) { - int prim, sec, l; size_t slen; - char *mbsrc, *s, *ss; + wchar_t *xf[2]; + int sverrno; if (*src == L'\0') { if (len != 0) @@ -55,7 +52,7 @@ return (0); } - if (__collate_load_error || MB_CUR_MAX > 1) { + if (__collate_load_error) { slen = wcslen(src); if (len > 0) { if (slen < len) @@ -68,49 +65,35 @@ return (slen); } - mbsrc = __mbsdup(src); - slen = 0; - prim = sec = 0; - ss = s = __collate_substitute(mbsrc); - while (*s != '\0') { - while (*s != '\0' && prim == 0) { - __collate_lookup(s, &l, &prim, &sec); - s += l; + __collate_xfrm(src, xf); + + slen = wcslen(xf[0]); + if (xf[1]) + slen += wcslen(xf[1]) + 1; + if (len > 0) { + wchar_t *w = xf[0]; + while (len > 1) { + if (!*w) + break; + *dest++ = *w++ + WCS_XFRM_OFFSET; + len--; } - if (prim != 0) { - if (len > 1) { - *dest++ = (wchar_t)prim; + if ((w = xf[1]) != NULL) { + if (len > 1) + *dest++ = WCS_XFRM_OFFSET; + while (len > 1) { + if (!*w) + break; + *dest++ = *w++ + WCS_XFRM_OFFSET; len--; } - slen++; - prim = 0; } - } - free(ss); - free(mbsrc); - if (len != 0) - *dest = L'\0'; - + *dest = 0; + } + sverrno = errno; + free(xf[0]); + free(xf[1]); + errno = sverrno; + return (slen); } - -static char * -__mbsdup(const wchar_t *ws) -{ - static const mbstate_t initial; - mbstate_t st; - const wchar_t *wcp; - size_t len; - char *mbs; - - wcp = ws; - st = initial; - if ((len = wcsrtombs(NULL, &wcp, 0, &st)) == (size_t)-1) - return (NULL); - if ((mbs = malloc(len + 1)) == NULL) - return (NULL); - st = initial; - wcsrtombs(mbs, &ws, len + 1, &st); - - return (mbs); -} From owner-p4-projects@FreeBSD.ORG Sun Aug 3 21:41:36 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 27D97106575D; Sun, 3 Aug 2008 21:41:35 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4719610656D5 for ; Sun, 3 Aug 2008 21:41:35 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D6ED88FC1B for ; Sun, 3 Aug 2008 21:41:34 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m73LfYD1000921 for ; Sun, 3 Aug 2008 21:41:34 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m73LfY1S000919 for perforce@freebsd.org; Sun, 3 Aug 2008 21:41:34 GMT (envelope-from sam@freebsd.org) Date: Sun, 3 Aug 2008 21:41:34 GMT Message-Id: <200808032141.m73LfY1S000919@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 146566 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, 03 Aug 2008 21:41:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=146566 Change 146566 by sam@sam_ebb on 2008/08/03 21:41:34 Checkpoint h/w crypto support. This was done to evaluate changes in net80211; it doesn't work correctly and is disabled by not marking the crypto capability bits. o fill in key allocator and related driver callbacks o fix longstanding bug by switching from clusters to 4k jumbo's for rx dma buffer; also required so we can backload the payload and prepend crypto header on rx (see below) o fixup stupid code that does leXtoh/htoleX everywhere instead of doing it once o on rx glue the crypto header back into the 802.11 frame using the information passed out of band in the h/w descriptor o on rx use ieee80211_find_rxnode_withkey to optimize lookups as we now have key indices on rx for stations operating w/ crypto o on tx yank IV out of band to the tx descriptor and squeeze the bits out of the frame to satisfy the hardware Derived from sephe's dfly code base. Affected files ... .. //depot/projects/vap/sys/dev/ral/rt2661.c#39 edit .. //depot/projects/vap/sys/dev/ral/rt2661reg.h#3 edit .. //depot/projects/vap/sys/dev/ral/rt2661var.h#14 edit Differences ... ==== //depot/projects/vap/sys/dev/ral/rt2661.c#39 (text) ==== @@ -118,8 +118,9 @@ static void rt2661_scan_end(struct ieee80211com *); static void rt2661_set_channel(struct ieee80211com *); static void rt2661_setup_tx_desc(struct rt2661_softc *, - struct rt2661_tx_desc *, uint32_t, uint16_t, int, - int, const bus_dma_segment_t *, int, int); + struct rt2661_tx_desc *, uint32_t, uint16_t, + const struct ieee80211_key *, const uint8_t *, + int, int, const bus_dma_segment_t *, int, int); static int rt2661_tx_data(struct rt2661_softc *, struct mbuf *, struct ieee80211_node *, int); static int rt2661_tx_mgt(struct rt2661_softc *, struct mbuf *, @@ -171,6 +172,17 @@ struct ieee80211vap *); static void rt2661_enable_tsf_sync(struct rt2661_softc *); static int rt2661_get_rssi(struct rt2661_softc *, uint8_t); +static void rt2661_reset_keymap(struct rt2661_softc *); +static int rt2661_key_alloc(struct ieee80211vap *, + struct ieee80211_key *, + ieee80211_keyix *, ieee80211_keyix *); +static int rt2661_key_delete(struct ieee80211vap *, + const struct ieee80211_key *); +static int rt2661_key_set(struct ieee80211vap *, + const struct ieee80211_key *, + const u_int8_t mac[IEEE80211_ADDR_LEN]); +static void rt2661_key_update_begin(struct ieee80211vap *); +static void rt2661_key_update_end(struct ieee80211vap *); static const struct { uint32_t reg; @@ -295,6 +307,20 @@ | IEEE80211_C_WME /* 802.11e */ #endif ; +#if 0 + /* set crypto capabilities */ + ic->ic_cryptocaps = + IEEE80211_CRYPTO_WEP + | IEEE80211_CRYPTO_TKIP + | IEEE80211_CRYPTO_TKIPMIC + | IEEE80211_CRYPTO_AES_CCM + ; +#endif + ic->ic_max_keyix = RT2661_KEY_MAX; /* max h/w key index */ + /* + * Mark key cache slots associated with global keys as in use. + */ + rt2661_reset_keymap(sc); bands = 0; setbit(&bands, IEEE80211_MODE_11B); @@ -425,6 +451,13 @@ vap = &rvp->ral_vap; ieee80211_vap_setup(ic, vap, name, unit, opmode, flags, bssid, mac); + /* h/w crypto support */ + vap->iv_key_alloc = rt2661_key_alloc; + vap->iv_key_delete = rt2661_key_delete; + vap->iv_key_set = rt2661_key_set; + vap->iv_key_update_begin = rt2661_key_update_begin; + vap->iv_key_update_end = rt2661_key_update_end; + /* override state transition machine */ rvp->ral_newstate = vap->iv_newstate; vap->iv_newstate = rt2661_newstate; @@ -630,6 +663,21 @@ bus_dma_tag_destroy(ring->data_dmat); } +static __inline struct mbuf * +rt2661_alloc_rxmbuf(struct rt2661_softc *sc) +{ + struct mbuf *m; + + m = m_getjcl(M_DONTWAIT, MT_DATA, M_PKTHDR, MJUMPAGESIZE); + if (m != NULL) { + /* backload payload */ + m->m_data += + (MJUMPAGESIZE - IEEE80211_MTU_MAX) &~ (sizeof(long)-1); + } else + device_printf(sc->sc_dev, "could not allocate rx mbuf\n"); + return m; +} + static int rt2661_alloc_rx_ring(struct rt2661_softc *sc, struct rt2661_rx_ring *ring, int count) @@ -678,8 +726,9 @@ * Pre-allocate Rx buffers and populate Rx ring. */ error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 1, 0, - BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, MCLBYTES, - 1, MCLBYTES, 0, NULL, NULL, &ring->data_dmat); + BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, + IEEE80211_MTU_MAX, 1, IEEE80211_MTU_MAX, 0, NULL, NULL, + &ring->data_dmat); if (error != 0) { device_printf(sc->sc_dev, "could not create data DMA tag\n"); goto fail; @@ -695,17 +744,16 @@ goto fail; } - data->m = m_getcl(M_DONTWAIT, MT_DATA, M_PKTHDR); + data->m = rt2661_alloc_rxmbuf(sc); if (data->m == NULL) { - device_printf(sc->sc_dev, - "could not allocate rx mbuf\n"); + /* NB: msg printed by rt2661_alloc_rxmbuf */ error = ENOMEM; goto fail; } error = bus_dmamap_load(ring->data_dmat, data->map, - mtod(data->m, void *), MCLBYTES, rt2661_dma_map_addr, - &physaddr, 0); + mtod(data->m, void *), IEEE80211_MTU_MAX, + rt2661_dma_map_addr, &physaddr, 0); if (error != 0) { device_printf(sc->sc_dev, "could not load rx buf DMA map"); @@ -841,7 +889,231 @@ return error; } +static __inline int +rt2661_cipher(const struct ieee80211_key *k) +{ + switch (k->wk_cipher->ic_cipher) { + case IEEE80211_CIPHER_WEP: + return (k->wk_keylen == (40 / NBBY)) ? + RT2661_CIPHER_WEP40 : RT2661_CIPHER_WEP104; + case IEEE80211_CIPHER_TKIP: + return RT2661_CIPHER_TKIP; + case IEEE80211_CIPHER_AES_CCM: + return RT2661_CIPHER_AES; + } + return RT2661_CIPHER_NONE; +} + +static __inline int +rt2661_ivlen(int cipher) +{ + switch (cipher) { + case RT2661_CIPHER_WEP40: + case RT2661_CIPHER_WEP104: + return IEEE80211_WEP_IVLEN + IEEE80211_WEP_KIDLEN; + case RT2661_CIPHER_TKIP: + case RT2661_CIPHER_AES: + return IEEE80211_WEP_IVLEN + IEEE80211_WEP_KIDLEN + + IEEE80211_WEP_EXTIVLEN; + } + return 0; +} + +static void +rt2661_reset_keymap(struct rt2661_softc *sc) +{ + int i; + + memset(sc->sc_keymap, 0, sizeof(sc->sc_keymap)); + for (i = 0; i < IEEE80211_WEP_NKID; i++) + setbit(sc->sc_keymap, i); +} + /* + * Allocate one or more key cache slots for a uniacst key. + */ +static int +rt2661_key_alloc(struct ieee80211vap *vap, struct ieee80211_key *k, + ieee80211_keyix *txkeyix, ieee80211_keyix *rxkeyix) +{ +#define N(a) (sizeof(a)/sizeof(a[0])) + struct rt2661_softc *sc = vap->iv_ic->ic_ifp->if_softc; + u_int i, keyix; + + if (k->wk_flags & IEEE80211_KEY_GROUP) { + if (!(&vap->iv_nw_keys[0] <= k && + k < &vap->iv_nw_keys[IEEE80211_WEP_NKID])) { + /* should not happen */ + DPRINTF(sc, "%s: bogus group key\n", __func__); + return 0; + } + /* + * XXX we pre-allocate the global keys so + * have no way to check if they've already been allocated. + */ + *txkeyix = *rxkeyix = k - vap->iv_nw_keys; + return 1; + } + + for (i = 0; i < N(sc->sc_keymap); i++) { + u_int8_t b = sc->sc_keymap[i]; + if (b != 0xff) { + /* + * One or more slots are free. + */ + keyix = i*NBBY; + while (b & 1) + keyix++, b >>= 1; + setbit(sc->sc_keymap, keyix); + DPRINTF(sc, "%s: key %u\n", __func__, keyix); + *txkeyix = *rxkeyix = keyix; + return 1; + } + } + DPRINTF(sc, "%s: out of space, use s/w crypto\n", __func__); + /* force fallback to s/w */ + k->wk_flags |= IEEE80211_KEY_SWCRYPT; + if (k->wk_cipher->ic_cipher == IEEE80211_CIPHER_TKIP) + k->wk_flags |= IEEE80211_KEY_SWMIC; + *txkeyix = *rxkeyix = 0; + return 1; +#undef N +} + +/* + * Delete an entry in the key cache allocated by ath_key_alloc. + */ +static int +rt2661_key_delete(struct ieee80211vap *vap, const struct ieee80211_key *k) +{ + struct rt2661_softc *sc = vap->iv_ic->ic_ifp->if_softc; + + DPRINTF(sc, "%s: delete key %u\n", __func__, k->wk_keyix); + + /* NB: nothing to do for s/w crypto keys */ + if ((k->wk_flags & IEEE80211_KEY_SWCRYPT) == 0) { + ieee80211_keyix keyix = k->wk_keyix; + uint32_t val; + + KASSERT(keyix < 64, ("keyix %u", keyix)); + + if (keyix >= IEEE80211_WEP_NKID) { + clrbit(sc->sc_keymap, keyix); + if (keyix < 32) { + val = RAL_READ(sc, RT2661_SEC_CSR2); + val &= ~(1 << keyix); + RAL_WRITE(sc, RT2661_SEC_CSR2, val); + } else { + val = RAL_READ(sc, RT2661_SEC_CSR3); + val &= ~(1 << (keyix - 32)); + RAL_WRITE(sc, RT2661_SEC_CSR3, val); + } + } else { + /* + * NB: don't touch keymap entries for global keys so + * they are never considered for dynamic allocation. + */ + val = RAL_READ(sc, RT2661_SEC_CSR0); + val &= ~(1 << keyix); + RAL_WRITE(sc, RT2661_SEC_CSR0, val); + } + } + return 1; +} + +/* + * Set the key cache contents for the specified key. Key cache + * slot(s) must already have been allocated by ath_key_alloc. + */ +static int +rt2661_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k, + const u_int8_t mac[IEEE80211_ADDR_LEN]) +{ + struct rt2661_softc *sc = vap->iv_ic->ic_ifp->if_softc; + ieee80211_keyix keyix = k->wk_keyix; + uint32_t addr, val; + int hwcipher; + + DPRINTF(sc, "%s: keyix %u, rxkeyix %u, flags 0x%04x\n", __func__, + keyix, k->wk_rxkeyix, k->wk_flags); + KASSERT(keyix < 64, ("keyix %u", keyix)); + + /* NB: nothing to do for s/w crypto */ + if (k->wk_flags & IEEE80211_KEY_SWCRYPT) + return 1; + + hwcipher = rt2661_cipher(k); + if (keyix >= IEEE80211_WEP_NKID) { + uint8_t mac_cipher[IEEE80211_ADDR_LEN + 1]; + + /* write key content */ + addr = RT2661_PAIRWISE_KEY_BASE + (keyix * sizeof(k->wk_key)); + RAL_WRITE_REGION_1(sc, addr, k->wk_key, sizeof(k->wk_key)); + + /* write TA and key cipher */ + /* NB: slot size is 1 byte bigger than mac+cipher */ + addr = RT2661_TARGET_ADDR_BASE + + (keyix * (IEEE80211_ADDR_LEN + 2)); + IEEE80211_ADDR_COPY(mac_cipher, mac); + mac_cipher[IEEE80211_ADDR_LEN] = hwcipher; + RAL_WRITE_REGION_1(sc, addr, mac_cipher, sizeof(mac_cipher)); + + /* enable key slot */ + if (keyix < 32) { + RAL_WRITE(sc, RT2661_SEC_CSR2, + RAL_READ(sc, RT2661_SEC_CSR2) | (1<wk_key)); + RAL_WRITE_REGION_1(sc, addr, k->wk_key, sizeof(k->wk_key)); + + /* write key cipher */ + val = RAL_READ(sc, RT2661_SEC_CSR1); + val &= ~(0xf << 4*keyix); + val |= hwcipher << 4*keyix; + RAL_WRITE(sc, RT2661_SEC_CSR1, val); + + /* enable key slot */ + RAL_WRITE(sc, RT2661_SEC_CSR0, + RAL_READ(sc, RT2661_SEC_CSR0) | (1<iv_ic->ic_ifp; + struct rt2661_softc *sc = ifp->if_softc; + + DPRINTF(sc, "%s:\n", __func__); + IF_LOCK(&ifp->if_snd); /* NB: doesn't block mgmt frames */ +} + +static void +rt2661_key_update_end(struct ieee80211vap *vap) +{ + struct ifnet *ifp = vap->iv_ic->ic_ifp; + struct rt2661_softc *sc = ifp->if_softc; + + DPRINTF(sc, "%s:\n", __func__); + IF_UNLOCK(&ifp->if_snd); +} + +/* * Read 16 bits at address 'addr' from the serial EEPROM (either 93C46 or * 93C66). */ @@ -1026,7 +1298,9 @@ struct ieee80211_frame *wh; struct ieee80211_node *ni; struct mbuf *mnew, *m; - int error; + ieee80211_keyix keyix; + int error, ivlen; + uint32_t flags; bus_dmamap_sync(sc->rxq.desc_dmat, sc->rxq.desc_map, BUS_DMASYNC_POSTREAD); @@ -1036,23 +1310,24 @@ desc = &sc->rxq.desc[sc->rxq.cur]; data = &sc->rxq.data[sc->rxq.cur]; + flags = le32toh(desc->flags); - if (le32toh(desc->flags) & RT2661_RX_BUSY) + if (flags & RT2661_RX_BUSY) break; - if ((le32toh(desc->flags) & RT2661_RX_PHY_ERROR) || - (le32toh(desc->flags) & RT2661_RX_CRC_ERROR)) { + if (flags & (RT2661_RX_PHY_ERROR | RT2661_RX_CRC_ERROR)) { /* * This should not happen since we did not request * to receive those frames when we filled TXRX_CSR0. */ DPRINTFN(sc, 5, "PHY or CRC error flags 0x%08x\n", - le32toh(desc->flags)); + flags); ifp->if_ierrors++; goto skip; } - if ((le32toh(desc->flags) & RT2661_RX_CIPHER_MASK) != 0) { + if ((flags & RT2661_RX_CIPHER_MASK) != 0) { + DPRINTFN(sc, 5, "cipher error 0x%08x\n", flags); ifp->if_ierrors++; goto skip; } @@ -1064,8 +1339,9 @@ * mbuf. In the unlikely case that the old mbuf can't be * reloaded either, explicitly panic. */ - mnew = m_getcl(M_DONTWAIT, MT_DATA, M_PKTHDR); + mnew = rt2661_alloc_rxmbuf(sc); if (mnew == NULL) { + /* NB: msg printed by rt2661_alloc_rxmbuf */ ifp->if_ierrors++; goto skip; } @@ -1075,14 +1351,14 @@ bus_dmamap_unload(sc->rxq.data_dmat, data->map); error = bus_dmamap_load(sc->rxq.data_dmat, data->map, - mtod(mnew, void *), MCLBYTES, rt2661_dma_map_addr, - &physaddr, 0); + mtod(mnew, void *), IEEE80211_MTU_MAX, + rt2661_dma_map_addr, &physaddr, 0); if (error != 0) { m_freem(mnew); /* try to reload the old mbuf */ error = bus_dmamap_load(sc->rxq.data_dmat, data->map, - mtod(data->m, void *), MCLBYTES, + mtod(data->m, void *), IEEE80211_MTU_MAX, rt2661_dma_map_addr, &physaddr, 0); if (error != 0) { /* very unlikely that it will fail... */ @@ -1103,8 +1379,7 @@ /* finalize mbuf */ m->m_pkthdr.rcvif = ifp; - m->m_pkthdr.len = m->m_len = - (le32toh(desc->flags) >> 16) & 0xfff; + m->m_pkthdr.len = m->m_len = (flags >> 16) & 0xfff; rssi = rt2661_get_rssi(sc, desc->rssi); @@ -1120,19 +1395,48 @@ htole64(((uint64_t)tsf_hi << 32) | tsf_lo); tap->wr_flags = 0; tap->wr_rate = ieee80211_plcp2rate(desc->rate, - (desc->flags & htole32(RT2661_RX_OFDM)) ? + (flags & RT2661_RX_OFDM) ? IEEE80211_T_OFDM : IEEE80211_T_CCK); tap->wr_antsignal = rssi < 0 ? 0 : rssi; bpf_mtap2(ifp->if_bpf, tap, sc->sc_rxtap_len, m); } + + wh = mtod(m, struct ieee80211_frame *); + if ((wh->i_fc[1] & IEEE80211_FC1_WEP) && + (ivlen = rt2661_ivlen(RT2661_RX_CIPHER(flags))) != 0) { + const int hdrlen = ieee80211_hdrspace(ic, wh); + uint8_t *ivp; + /* + * Glue crypto header back into place. + */ + M_PREPEND(m, ivlen, M_NOWAIT); + if (m == NULL) { + DPRINTFN(sc, 5, "no room for %d bytes of " + "crypto header, cipher %d\n", + ivlen, RT2661_RX_CIPHER(flags)); + ifp->if_ierrors++; + goto skip; + } + ivp = mtod(m, uint8_t *); + memmove(ivp, ivp + ivlen, hdrlen); + ivp += hdrlen; + memcpy(ivp, desc->iv, ivlen); + + /* recalculate after prepend */ + wh = mtod(m, struct ieee80211_frame *); + + keyix = RT2661_RX_KEYIX(flags); + } else + keyix = IEEE80211_KEYIX_NONE; + DPRINTFN(sc, 5, "keyix %d\n", keyix); + sc->sc_flags |= RAL_INPUT_RUNNING; RAL_UNLOCK(sc); - wh = mtod(m, struct ieee80211_frame *); /* send the frame to the 802.11 layer */ - ni = ieee80211_find_rxnode(ic, - (struct ieee80211_frame_min *)wh); + ni = ieee80211_find_rxnode_withkey(ic, + (struct ieee80211_frame_min *)wh, keyix); if (ni != NULL) { /* Error happened during RSSI conversion. */ if (rssi < 0) @@ -1273,20 +1577,46 @@ static void rt2661_setup_tx_desc(struct rt2661_softc *sc, struct rt2661_tx_desc *desc, - uint32_t flags, uint16_t xflags, int len, int rate, - const bus_dma_segment_t *segs, int nsegs, int ac) + uint32_t flags, uint16_t xflags, + const struct ieee80211_key *k, const uint8_t *iv, + int len, int rate, const bus_dma_segment_t *segs, int nsegs, int ac) { struct ifnet *ifp = sc->sc_ifp; struct ieee80211com *ic = ifp->if_l2com; uint16_t plcp_length; int i, remainder; + /* NB: record packet length first so we can adjust len */ + flags |= len << 16; + if (k != NULL && (k->wk_flags & IEEE80211_KEY_SWENCRYPT) == 0) { + const int hwcipher = rt2661_cipher(k); + const int ivlen = rt2661_ivlen(hwcipher); + + /* calculate h/w crypto flags */ + flags |= hwcipher << 29; + if ((hwcipher == RT2661_CIPHER_TKIP || + hwcipher == RT2661_CIPHER_AES) && + (k->wk_flags & IEEE80211_KEY_SWENMIC) == 0) { + flags |= RT2661_TX_HWMIC; + len += IEEE80211_WEP_MICLEN; + } + flags |= k->wk_keyix << 10; + if (k->wk_keyix >= IEEE80211_WEP_NKID) + flags |= RT2661_TX_PAIRWISE_KEY; + + /* copy in iv+eiv extracted from packet */ + KASSERT(iv != NULL && ivlen <= 8, + ("iv %p ivlen %d", iv, ivlen)); + memcpy(desc->iv, iv, ivlen); + + /* adjust length for PLCP calculation below (MIC added above) */ + len += ivlen; + } + flags |= RT2661_TX_BUSY | RT2661_TX_VALID; desc->flags = htole32(flags); - desc->flags |= htole32(len << 16); - desc->flags |= htole32(RT2661_TX_BUSY | RT2661_TX_VALID); + xflags |= nsegs << 13; desc->xflags = htole16(xflags); - desc->xflags |= htole16(nsegs << 13); desc->wme = htole16( RT2661_QID(ac) | @@ -1298,6 +1628,7 @@ * Remember in which queue this frame was sent. This field is driver * private data only. It will be made available by the NIC in STA_CSR4 * on Tx interrupts. + * XXX can get this from mbuf */ desc->qid = ac; @@ -1333,6 +1664,28 @@ } } +static void +rt2661_extract_iv(struct mbuf *m, const struct ieee80211_key *k, + const int hdrlen, uint8_t iv[8]) +{ + uint8_t *data = mtod(m, uint8_t *); + const int hwcipher = rt2661_cipher(k); + const int ivlen = rt2661_ivlen(hwcipher); + uint8_t *ivp; + + KASSERT(ivlen <= 8, ("ivlen %d", ivlen)); + + /* + * Pull IV out of line to tx descriptor and copy + * up the 802.11 header to squeeze out the bits. + */ + ivp = data + hdrlen; + memcpy(ivp, iv, ivlen); + memmove(data + ivlen, data, hdrlen); + m_adj(m, ivlen); + /* XXX MIC trailer */ +} + static int rt2661_tx_mgt(struct rt2661_softc *sc, struct mbuf *m0, struct ieee80211_node *ni) @@ -1346,8 +1699,9 @@ struct ieee80211_key *k; bus_dma_segment_t segs[RT2661_MAX_SCATTER]; uint16_t dur; - uint32_t flags = 0; /* XXX HWSEQ */ + uint32_t flags, xflags; int nsegs, rate, error; + uint8_t iv[8]; desc = &sc->mgtq.desc[sc->mgtq.cur]; data = &sc->mgtq.data[sc->mgtq.cur]; @@ -1356,13 +1710,21 @@ wh = mtod(m0, struct ieee80211_frame *); + flags = xflags = 0; if (wh->i_fc[1] & IEEE80211_FC1_WEP) { k = ieee80211_crypto_encap(ni, m0); if (k == NULL) { m_freem(m0); return ENOBUFS; } - } + if ((k->wk_flags & IEEE80211_KEY_SWCRYPT) == 0) { + const int hdrlen = ieee80211_hdrspace(ic, wh); + + rt2661_extract_iv(m0, k, hdrlen, iv); + xflags |= hdrlen; + } + } else + k = NULL; error = bus_dmamap_load_mbuf_sg(sc->mgtq.data_dmat, data->map, m0, segs, &nsegs, 0); @@ -1403,7 +1765,7 @@ flags |= RT2661_TX_TIMESTAMP; } - rt2661_setup_tx_desc(sc, desc, flags, 0 /* XXX HWSEQ */, + rt2661_setup_tx_desc(sc, desc, flags, xflags /* XXX HWSEQ */, k, iv, m0->m_pkthdr.len, rate, segs, nsegs, RT2661_QID_MGT); bus_dmamap_sync(sc->mgtq.data_dmat, data->map, BUS_DMASYNC_PREWRITE); @@ -1479,8 +1841,8 @@ /* ctl frames are not taken into account for amrr */ data->rix = IEEE80211_FIXED_RATE_NONE; - rt2661_setup_tx_desc(sc, desc, flags, 0, mprot->m_pkthdr.len, - protrate, segs, 1, ac); + rt2661_setup_tx_desc(sc, desc, flags, 0, NULL, NULL, + mprot->m_pkthdr.len, protrate, segs, 1, ac); bus_dmamap_sync(txq->data_dmat, data->map, BUS_DMASYNC_PREWRITE); bus_dmamap_sync(txq->desc_dmat, txq->desc_map, BUS_DMASYNC_PREWRITE); @@ -1508,9 +1870,13 @@ struct mbuf *mnew; bus_dma_segment_t segs[RT2661_MAX_SCATTER]; uint16_t dur; - uint32_t flags; + uint32_t flags, xflags; int error, nsegs, rate, noack = 0; + uint8_t iv[8]; + data = &txq->data[txq->cur]; + desc = &txq->desc[txq->cur]; + wh = mtod(m0, struct ieee80211_frame *); tp = &vap->iv_txparms[ieee80211_chan2mode(ni->ni_chan)]; @@ -1531,18 +1897,25 @@ noack = cap->cap_wmeParams[ac].wmep_noackPolicy; } + flags = xflags = 0; if (wh->i_fc[1] & IEEE80211_FC1_WEP) { k = ieee80211_crypto_encap(ni, m0); if (k == NULL) { m_freem(m0); return ENOBUFS; } + if ((k->wk_flags & IEEE80211_KEY_SWCRYPT) == 0) { + const int hdrlen = ieee80211_hdrspace(ic, wh); + + rt2661_extract_iv(m0, k, hdrlen, iv); + xflags |= hdrlen; + } /* packet header may have moved, reset our local pointer */ wh = mtod(m0, struct ieee80211_frame *); - } + } else + k = NULL; - flags = 0; if (!IEEE80211_IS_MULTICAST(wh->i_addr1)) { int prot = IEEE80211_PROT_NONE; if (m0->m_pkthdr.len + IEEE80211_CRC_LEN > vap->iv_rtsthreshold) @@ -1560,9 +1933,6 @@ } } - data = &txq->data[txq->cur]; - desc = &txq->desc[txq->cur]; - error = bus_dmamap_load_mbuf_sg(txq->data_dmat, data->map, m0, segs, &nsegs, 0); if (error != 0 && error != EFBIG) { @@ -1624,8 +1994,8 @@ *(uint16_t *)wh->i_dur = htole16(dur); } - rt2661_setup_tx_desc(sc, desc, flags, 0, m0->m_pkthdr.len, rate, segs, - nsegs, ac); + rt2661_setup_tx_desc(sc, desc, flags, xflags, k, iv, + m0->m_pkthdr.len, rate, segs, nsegs, ac); bus_dmamap_sync(txq->data_dmat, data->map, BUS_DMASYNC_PREWRITE); bus_dmamap_sync(txq->desc_dmat, txq->desc_map, BUS_DMASYNC_PREWRITE); @@ -2543,6 +2913,9 @@ rt2661_reset_tx_ring(sc, &sc->txq[3]); rt2661_reset_tx_ring(sc, &sc->mgtq); rt2661_reset_rx_ring(sc, &sc->rxq); + + /* h/w key table is reset, clear allocation map */ + rt2661_reset_keymap(sc); } } @@ -2759,7 +3132,7 @@ rate = IEEE80211_IS_CHAN_5GHZ(ic->ic_bsschan) ? 12 : 2; rt2661_setup_tx_desc(sc, &desc, RT2661_TX_TIMESTAMP, RT2661_TX_HWSEQ, - m0->m_pkthdr.len, rate, NULL, 0, RT2661_QID_MGT); + NULL, NULL, m0->m_pkthdr.len, rate, NULL, 0, RT2661_QID_MGT); /* copy the first 24 bytes of Tx descriptor into NIC memory */ RAL_WRITE_REGION_1(sc, RT2661_HW_BEACON_BASE0, (uint8_t *)&desc, 24); ==== //depot/projects/vap/sys/dev/ral/rt2661reg.h#3 (text) ==== @@ -23,6 +23,12 @@ #define RT2661_MGT_RING_COUNT 32 #define RT2661_RX_RING_COUNT 64 +#define RT2661_CIPHER_NONE 0 +#define RT2661_CIPHER_WEP40 1 +#define RT2661_CIPHER_WEP104 2 +#define RT2661_CIPHER_TKIP 3 +#define RT2661_CIPHER_AES 4 + #define RT2661_TX_DESC_SIZE (sizeof (struct rt2661_tx_desc)) #define RT2661_TX_DESC_WSIZE (RT2661_TX_DESC_SIZE / 4) #define RT2661_RX_DESC_SIZE (sizeof (struct rt2661_rx_desc)) @@ -39,6 +45,9 @@ #define RT2661_MCU_INT_SOURCE_CSR 0x0014 #define RT2661_MCU_INT_MASK_CSR 0x0018 #define RT2661_PCI_USEC_CSR 0x001c +#define RT2661_GLOBAL_KEY_BASE 0x1000 +#define RT2661_PAIRWISE_KEY_BASE 0x1200 +#define RT2661_TARGET_ADDR_BASE 0x1a00 #define RT2661_H2M_MAILBOX_CSR 0x2100 #define RT2661_M2H_CMD_DONE_CSR 0x2104 #define RT2661_HW_BEACON_BASE0 0x2c00 @@ -222,6 +231,8 @@ #define RT2661_TX_OFDM (1 << 5) #define RT2661_TX_IFS (1 << 6) #define RT2661_TX_LONG_RETRY (1 << 7) +#define RT2661_TX_HWMIC (1 << 8) +#define RT2661_TX_PAIRWISE_KEY (1 << 9) #define RT2661_TX_BURST (1 << 28) uint16_t wme; @@ -240,8 +251,7 @@ uint8_t plcp_length_lo; uint8_t plcp_length_hi; - uint32_t iv; - uint32_t eiv; + uint8_t iv[8]; uint8_t offset; uint8_t qid; @@ -267,13 +277,14 @@ #define RT2661_RX_OFDM (1 << 7) #define RT2661_RX_PHY_ERROR (1 << 8) #define RT2661_RX_CIPHER_MASK 0x00000600 +#define RT2661_RX_KEYIX(f) (((f) >> 10) & 0x3f) +#define RT2661_RX_CIPHER(f) (((f) >> 29) & 0x7) uint8_t rate; uint8_t rssi; uint8_t reserved1; uint8_t offset; - uint32_t iv; - uint32_t eiv; + uint8_t iv[8]; uint32_t reserved2; uint32_t physaddr; uint32_t reserved3[10]; @@ -356,6 +367,9 @@ { RT2661_MAC_CSR13, 0x0000e000 }, \ { RT2661_SEC_CSR0, 0x00000000 }, \ { RT2661_SEC_CSR1, 0x00000000 }, \ + { RT2661_SEC_CSR2, 0x00000000 }, \ + { RT2661_SEC_CSR3, 0x00000000 }, \ + { RT2661_SEC_CSR4, 0x00000000 }, \ { RT2661_SEC_CSR5, 0x00000000 }, \ { RT2661_PHY_CSR1, 0x000023b0 }, \ { RT2661_PHY_CSR5, 0x060a100c }, \ ==== //depot/projects/vap/sys/dev/ral/rt2661var.h#14 (text) ==== @@ -17,6 +17,9 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ +#define RT2661_KEY_MAX 64 +#define RT2661_KEYBYTES (RT2661_KEY_MAX / NBBY) + struct rt2661_rx_radiotap_header { struct ieee80211_radiotap_header wr_ihdr; uint64_t wr_tsf; @@ -126,6 +129,7 @@ #define RAL_INPUT_RUNNING 0x2 int sc_id; struct ieee80211_channel *sc_curchan; + uint8_t sc_keymap[RT2661_KEYBYTES]; uint8_t rf_rev; From owner-p4-projects@FreeBSD.ORG Sun Aug 3 21:43:37 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7D192106567C; Sun, 3 Aug 2008 21:43:37 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 428281065670 for ; Sun, 3 Aug 2008 21:43:37 +0000 (UTC) (envelope-from konrad@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2E7228FC16 for ; Sun, 3 Aug 2008 21:43:37 +0000 (UTC) (envelope-from konrad@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m73LhaEQ001056 for ; Sun, 3 Aug 2008 21:43:36 GMT (envelope-from konrad@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m73LhaXv001054 for perforce@freebsd.org; Sun, 3 Aug 2008 21:43:36 GMT (envelope-from konrad@FreeBSD.org) Date: Sun, 3 Aug 2008 21:43:36 GMT Message-Id: <200808032143.m73LhaXv001054@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to konrad@FreeBSD.org using -f From: Konrad Jankowski To: Perforce Change Reviews Cc: Subject: PERFORCE change 146567 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, 03 Aug 2008 21:43:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=146567 Change 146567 by konrad@vspredator on 2008/08/03 21:42:56 Ugh... how could `p4 diff -du` loose this file? Affected files ... .. //depot/projects/soc2008/konrad_collation/libc/locale/collate.c#7 edit Differences ... ==== //depot/projects/soc2008/konrad_collation/libc/locale/collate.c#7 (text+ko) ==== @@ -28,14 +28,24 @@ #include __FBSDID("$FreeBSD: src/lib/libc/locale/collate.c,v 1.35 2005/02/27 20:31:13 ru Exp $"); +#define __collate_chain_equiv_table (__collate_data->__chain_equiv_table) +#define __collate_chain_pri_table (__collate_data->__chain_pri_table) +#define __collate_char_pri_table (__collate_data->__char_pri_table) +#define __collate_info (&__collate_data->__info) +#define __collate_large_char_pri_table (__collate_data->__large_char_pri_table) +#define __collate_substitute_table (__collate_data->__substitute_table) + #include "namespace.h" #include #include #include +#include #include +#include #include #include #include +#include #include "un-namespace.h" #include "collate.h" @@ -44,24 +54,25 @@ #include "libc_private.h" +#if _BYTE_ORDER == _LITTLE_ENDIAN +static void wntohl(wchar_t *, int); +#endif /* _BYTE_ORDER == _LITTLE_ENDIAN */ +void __collate_err(int ex, const char *f) __dead2; + +#undef __collate_load_error int __collate_load_error = 1; int __collate_substitute_nontrivial; - -u_char __collate_substitute_table[UCHAR_MAX + 1][STR_LEN]; -struct __collate_st_char_pri __collate_char_pri_table[UCHAR_MAX + 1]; -struct __collate_st_chain_pri *__collate_chain_pri_table; +struct __locale_st_collate *__collate_data = NULL; -void __collate_err(int ex, const char *f) __dead2; - int __collate_load_tables(const char *encoding) { FILE *fp; - int i, saverr, chains; - uint32_t u32; + int i, saverr, chains, z; char strbuf[STR_LEN], buf[PATH_MAX]; - void *TMP_substitute_table, *TMP_char_pri_table, *TMP_chain_pri_table; - static char collate_encoding[ENCODING_LEN + 1]; + struct __locale_st_collate *TMP; + struct __collate_st_info info; + void *vp; /* 'encoding' must be already checked. */ if (strcmp(encoding, "C") == 0 || strcmp(encoding, "POSIX") == 0) { @@ -72,7 +83,7 @@ /* * If the locale name is the same as our cache, use the cache. */ - if (strcmp(encoding, collate_encoding) == 0) { + if (__collate_data && strcmp(encoding, __collate_data->__encoding) == 0) { __collate_load_error = 0; return (_LDP_CACHE); } @@ -87,6 +98,9 @@ (void)strcat(buf, "/"); (void)strcat(buf, encoding); (void)strcat(buf, "/LC_COLLATE"); +#ifdef LOCALE_DEBUG + fprintf(stderr, "__collate_load_tables: opening %s\n", buf); +#endif if ((fp = fopen(buf, "r")) == NULL) return (_LDP_ERROR); @@ -97,23 +111,30 @@ return (_LDP_ERROR); } chains = -1; - if (strcmp(strbuf, COLLATE_VERSION) == 0) - chains = 0; - else if (strcmp(strbuf, COLLATE_VERSION1_2) == 0) + if (strcmp(strbuf, COLLATE_VERSION1_3) == 0) chains = 1; if (chains < 0) { + fprintf(stderr, "__collate_load_tables: wrong signature: %s\n", strbuf); (void)fclose(fp); errno = EFTYPE; return (_LDP_ERROR); } if (chains) { - if (fread(&u32, sizeof(u32), 1, fp) != 1) { + if (fread(&info, sizeof(info), 1, fp) != 1) { saverr = errno; (void)fclose(fp); errno = saverr; return (_LDP_ERROR); } - if ((chains = (int)ntohl(u32)) < 1) { +#if _BYTE_ORDER == _LITTLE_ENDIAN + for(z = 0; z < info.directive_count; z++) { + info.undef_pri[z] = ntohl(info.undef_pri[z]); + info.subst_count[z] = ntohl(info.subst_count[z]); + } + info.chain_count = ntohl(info.chain_count); + info.large_pri_count = ntohl(info.large_pri_count); +#endif /* _BYTE_ORDER == _LITTLE_ENDIAN */ + if ((chains = info.chain_count) < 0) { (void)fclose(fp); errno = EFTYPE; return (_LDP_ERROR); @@ -121,140 +142,428 @@ } else chains = TABLE_SIZE; - if ((TMP_substitute_table = - malloc(sizeof(__collate_substitute_table))) == NULL) { + i = sizeof(struct __locale_st_collate) + + sizeof(struct __collate_st_chain_pri) * chains + + sizeof(struct __collate_st_large_char_pri) * info.large_pri_count; + for(z = 0; z < info.directive_count; z++) + i += sizeof(struct __collate_st_subst) * info.subst_count[z]; + if ((TMP = (struct __locale_st_collate *)malloc(i)) == NULL) { saverr = errno; (void)fclose(fp); errno = saverr; return (_LDP_ERROR); } - if ((TMP_char_pri_table = - malloc(sizeof(__collate_char_pri_table))) == NULL) { - saverr = errno; - free(TMP_substitute_table); - (void)fclose(fp); - errno = saverr; - return (_LDP_ERROR); - } - if ((TMP_chain_pri_table = - malloc(sizeof(*__collate_chain_pri_table) * chains)) == NULL) { - saverr = errno; - free(TMP_substitute_table); - free(TMP_char_pri_table); - (void)fclose(fp); - errno = saverr; - return (_LDP_ERROR); - } #define FREAD(a, b, c, d) \ { \ if (fread(a, b, c, d) != c) { \ saverr = errno; \ - free(TMP_substitute_table); \ - free(TMP_char_pri_table); \ - free(TMP_chain_pri_table); \ + free(TMP); \ (void)fclose(d); \ errno = saverr; \ return (_LDP_ERROR); \ } \ } - FREAD(TMP_substitute_table, sizeof(__collate_substitute_table), 1, fp); - FREAD(TMP_char_pri_table, sizeof(__collate_char_pri_table), 1, fp); - FREAD(TMP_chain_pri_table, - sizeof(*__collate_chain_pri_table), chains, fp); + /* adjust size to read the remaining in one chunk */ + i -= offsetof(struct __locale_st_collate, __char_pri_table); + FREAD(TMP->__char_pri_table, i, 1, fp); (void)fclose(fp); - (void)strcpy(collate_encoding, encoding); - if (__collate_substitute_table_ptr != NULL) - free(__collate_substitute_table_ptr); - __collate_substitute_table_ptr = TMP_substitute_table; - if (__collate_char_pri_table_ptr != NULL) - free(__collate_char_pri_table_ptr); - __collate_char_pri_table_ptr = TMP_char_pri_table; - for (i = 0; i < UCHAR_MAX + 1; i++) { - __collate_char_pri_table[i].prim = - ntohl(__collate_char_pri_table[i].prim); - __collate_char_pri_table[i].sec = - ntohl(__collate_char_pri_table[i].sec); + vp = (void *)(TMP + 1); + + /* the COLLATE_SUBST_DUP optimization relies on COLL_WEIGHTS_MAX == 2 */ + if (info.subst_count[0] > 0) { + TMP->__substitute_table[0] = (struct __collate_st_subst *)vp; + vp += info.subst_count[0] * sizeof(struct __collate_st_subst); + } else + TMP->__substitute_table[0] = NULL; + if (info.flags & COLLATE_SUBST_DUP) + TMP->__substitute_table[1] = TMP->__substitute_table[0]; + else if (info.subst_count[1] > 0) { + TMP->__substitute_table[1] = (struct __collate_st_subst *)vp; + vp += info.subst_count[1] * sizeof(struct __collate_st_subst); + } else + TMP->__substitute_table[1] = NULL; + + if (chains > 0) { + TMP->__chain_pri_table = (struct __collate_st_chain_pri *)vp; + vp += chains * sizeof(struct __collate_st_chain_pri); + } else + TMP->__chain_pri_table = NULL; + if (info.large_pri_count > 0) + TMP->__large_char_pri_table = + (struct __collate_st_large_char_pri *)vp; + else + TMP->__large_char_pri_table = NULL; + +#if _BYTE_ORDER == _LITTLE_ENDIAN + { + struct __collate_st_char_pri *p = TMP->__char_pri_table; + for(i = UCHAR_MAX + 1; i-- > 0; p++) { + for(z = 0; z < info.directive_count; z++) + p->pri[z] = ntohl(p->pri[z]); + } } - if (__collate_chain_pri_table != NULL) - free(__collate_chain_pri_table); - __collate_chain_pri_table = TMP_chain_pri_table; - for (i = 0; i < chains; i++) { - __collate_chain_pri_table[i].prim = - ntohl(__collate_chain_pri_table[i].prim); - __collate_chain_pri_table[i].sec = - ntohl(__collate_chain_pri_table[i].sec); + for(z = 0; z < info.directive_count; z++) + if (info.subst_count[z] > 0) { + struct __collate_st_subst *p = + TMP->__substitute_table[z]; + for(i = info.subst_count[z]; i-- > 0; p++) { + p->val = ntohl(p->val); + wntohl(p->str, STR_LEN); + } + } + { + struct __collate_st_chain_pri *p = TMP->__chain_pri_table; + for(i = chains; i-- > 0; p++) { + wntohl(p->str, STR_LEN); + for(z = 0; z < info.directive_count; z++) + p->pri[z] = ntohl(p->pri[z]); + } } - __collate_substitute_nontrivial = 0; - for (i = 0; i < UCHAR_MAX + 1; i++) { - if (__collate_substitute_table[i][0] != i || - __collate_substitute_table[i][1] != 0) { - __collate_substitute_nontrivial = 1; - break; + if (info.large_pri_count > 0) { + struct __collate_st_large_char_pri *p = + TMP->__large_char_pri_table; + for(i = info.large_pri_count; i-- > 0; p++) { + p->val = ntohl(p->val); + for(z = 0; z < info.directive_count; z++) + p->pri.pri[z] = ntohl(p->pri.pri[z]); } } +#endif /* _BYTE_ORDER == _LITTLE_ENDIAN */ + (void)strcpy(TMP->__encoding, encoding); + (void)memcpy(&TMP->__info, &info, sizeof(info)); + __collate_data = TMP; + + __collate_load_error = (info.subst_count[0] > 0 || + info.subst_count[1] > 0); __collate_load_error = 0; +#ifdef LOCALE_DEBUG + fprintf(stderr, "__collate_load_tables: loaded successfully\n"); +#endif return (_LDP_LOADED); } -u_char * -__collate_substitute(const u_char *s) +static int +__collate_wcsnlen(const wchar_t *s, int len) +{ + int n = 0; + while (*s && n < len) { + s++; + n++; + } + return n; +} + +static struct __collate_st_subst * +substsearch(const wchar_t key, struct __collate_st_subst *tab, int n) +{ + int low = 0; + int high = n - 1; + int next, compar; + struct __collate_st_subst *p; + + while (low <= high) { + next = (low + high) / 2; + p = tab + next; + compar = key - p->val; + if (compar == 0) + return p; + if (compar > 0) + low = next + 1; + else + high = next - 1; + } + return NULL; +} + +wchar_t * +__collate_substitute(const wchar_t *s, int which) { int dest_len, len, nlen; - int delta = strlen(s); - u_char *dest_str = NULL; + int n, delta, nsubst; + wchar_t *dest_str = NULL; + const wchar_t *fp; + struct __collate_st_subst *subst, *match; if (s == NULL || *s == '\0') - return (__collate_strdup("")); - delta += delta / 8; - dest_str = malloc(dest_len = delta); + return (__collate_wcsdup(L"")); + dest_len = wcslen(s); + nsubst = __collate_info->subst_count[which]; + if (nsubst <= 0) + return __collate_wcsdup(s); + subst = __collate_substitute_table[which]; + delta = dest_len / 4; + if (delta < 2) + delta = 2; + dest_str = (wchar_t *)malloc((dest_len += delta) * sizeof(wchar_t)); if (dest_str == NULL) __collate_err(EX_OSERR, __func__); len = 0; while (*s) { - nlen = len + strlen(__collate_substitute_table[*s]); + if ((match = substsearch(*s, subst, nsubst)) != NULL) { + fp = match->str; + n = __collate_wcsnlen(fp, STR_LEN); + } else { + fp = s; + n = 1; + } + nlen = len + n; if (dest_len <= nlen) { - dest_str = reallocf(dest_str, dest_len = nlen + delta); + dest_str = reallocf(dest_str, (dest_len = nlen + delta) + * sizeof(wchar_t)); if (dest_str == NULL) __collate_err(EX_OSERR, __func__); } - (void)strcpy(dest_str + len, __collate_substitute_table[*s++]); - len = nlen; + wcsncpy(dest_str + len, fp, n); + len += n; + s++; } + dest_str[len] = 0; return (dest_str); } +static struct __collate_st_chain_pri * +chainsearch(const wchar_t *key, int *len) +{ + int low = 0; + int high = __collate_info->chain_count - 1; + int next, compar, l; + struct __collate_st_chain_pri *p; + struct __collate_st_chain_pri *tab = __collate_chain_pri_table; + + while (low <= high) { + next = (low + high) / 2; + p = tab + next; + compar = *key - *p->str; + if (compar == 0) { + l = __collate_wcsnlen(p->str, STR_LEN); + compar = wcsncmp(key, p->str, l); + if (compar == 0) { + *len = l; + return p; + } + } + if (compar > 0) + low = next + 1; + else + high = next - 1; + } + return NULL; +} + +static struct __collate_st_large_char_pri * +largesearch(const wchar_t key) +{ + int low = 0; + int high = __collate_info->large_pri_count - 1; + int next, compar; + struct __collate_st_large_char_pri *p; + struct __collate_st_large_char_pri *tab = + __collate_large_char_pri_table; + + while (low <= high) { + next = (low + high) / 2; + p = tab + next; + compar = key - p->val; + if (compar == 0) + return p; + if (compar > 0) + low = next + 1; + else + high = next - 1; + } + return NULL; +} + void -__collate_lookup(const u_char *t, int *len, int *prim, int *sec) +__collate_lookup(const wchar_t *t, int *len, int *prim, int *sec) { struct __collate_st_chain_pri *p2; + int l; *len = 1; *prim = *sec = 0; - for (p2 = __collate_chain_pri_table; p2->str[0] != '\0'; p2++) { - if (*t == p2->str[0] && - strncmp(t, p2->str, strlen(p2->str)) == 0) { - *len = strlen(p2->str); - *prim = p2->prim; - *sec = p2->sec; + p2 = chainsearch(t, &l); + /* use the chain if prim >= 0 */ + if (p2 && p2->pri[0] >= 0) { + *len = l; + *prim = p2->pri[0]; + *sec = p2->pri[1]; + return; + } + if (*t <= UCHAR_MAX) { + *prim = __collate_char_pri_table[*t].pri[0]; + *sec = __collate_char_pri_table[*t].pri[1]; + return; + } + if (__collate_info->large_pri_count > 0) { + struct __collate_st_large_char_pri *match; + match = largesearch(*t); + if (match) { + *prim = match->pri.pri[0]; + *sec = match->pri.pri[1]; + return; + } + } + *prim = (l = __collate_info->undef_pri[0]) >= 0 ? l : *t - l; + *sec = (l = __collate_info->undef_pri[1]) >= 0 ? l : *t - l; +} + +void +__collate_lookup_which(const wchar_t *t, int *len, int *pri, int which) +{ + struct __collate_st_chain_pri *p2; + int p, l; + + *len = 1; + *pri = 0; + p2 = chainsearch(t, &l); + if (p2) { + p = p2->pri[which]; + /* use the chain if pri >= 0 */ + if (p >= 0) { + *len = l; + *pri = p; + return; + } + } + if (*t <= UCHAR_MAX) { + *pri = __collate_char_pri_table[*t].pri[which]; + return; + } + if (__collate_info->large_pri_count > 0) { + struct __collate_st_large_char_pri *match; + match = largesearch(*t); + if (match) { + *pri = match->pri.pri[which]; return; } } - *prim = __collate_char_pri_table[*t].prim; - *sec = __collate_char_pri_table[*t].sec; + *pri = (l = __collate_info->undef_pri[which]) >= 0 ? l : *t - l; +} + +wchar_t * +__collate_mbstowcs(const char *s) +{ + static const mbstate_t initial; + mbstate_t st; + size_t len; + const char *ss; + wchar_t *wcs; + + ss = s; + st = initial; + if ((len = mbsrtowcs(NULL, &ss, 0, &st)) == (size_t)-1) + return NULL; + if ((wcs = (wchar_t *)malloc((len + 1) * sizeof(wchar_t))) == NULL) + __collate_err(EX_OSERR, __func__); + st = initial; + mbsrtowcs(wcs, &s, len, &st); + wcs[len] = 0; + + return (wcs); } -u_char * -__collate_strdup(u_char *s) +wchar_t * +__collate_wcsdup(const wchar_t *s) { - u_char *t = strdup(s); + size_t len = wcslen(s) + 1; + wchar_t *wcs; - if (t == NULL) + if ((wcs = (wchar_t *)malloc(len * sizeof(wchar_t))) == NULL) __collate_err(EX_OSERR, __func__); - return (t); + wcscpy(wcs, s); + return (wcs); +} + +void +__collate_xfrm(const wchar_t *src, wchar_t **xf) +{ + int pri, len; + size_t slen; + const wchar_t *t; + wchar_t *tt = NULL, *tr = NULL; + int direc, pass; + wchar_t *xfp; + struct __collate_st_info *info = __collate_info; + int sverrno; + + for(pass = 0; pass < COLL_WEIGHTS_MAX; pass++) + xf[pass] = NULL; + for(pass = 0; pass < info->directive_count; pass++) { + direc = info->directive[pass]; + if (pass == 0 || !(info->flags & COLLATE_SUBST_DUP)) { + sverrno = errno; + free(tt); + errno = sverrno; + tt = __collate_substitute(src, pass); + } + if (direc & DIRECTIVE_BACKWARD) { + wchar_t *bp, *fp, c; + sverrno = errno; + free(tr); + errno = sverrno; + tr = __collate_wcsdup(tt ? tt : src); + bp = tr; + fp = tr + wcslen(tr) - 1; + while(bp < fp) { + c = *bp; + *bp++ = *fp; + *fp-- = c; + } + t = (const wchar_t *)tr; + } else if (tt) + t = (const wchar_t *)tt; + else + t = (const wchar_t *)src; + sverrno = errno; + if ((xf[pass] = (wchar_t *)malloc(sizeof(wchar_t) * + (wcslen(t) + 1))) == NULL) { + errno = sverrno; + slen = 0; + goto end; + } + errno = sverrno; + xfp = xf[pass]; + if (direc & DIRECTIVE_POSITION) { + while(*t) { + __collate_lookup_which(t, &len, &pri, pass); + t += len; + if (pri <= 0) { + if (pri < 0) { + errno = EINVAL; + slen = 0; + goto end; + } + pri = COLLATE_MAX_PRIORITY; + } + *xfp++ = pri; + } + } else { + while(*t) { + __collate_lookup_which(t, &len, &pri, pass); + t += len; + if (pri <= 0) { + if (pri < 0) { + errno = EINVAL; + slen = 0; + goto end; + } + continue; + } + *xfp++ = pri; + } + } + *xfp = 0; + } + end: + sverrno = errno; + free(tt); + free(tr); + errno = sverrno; } void @@ -275,24 +584,350 @@ exit(ex); } +/* + * __collate_collating_symbol takes the multibyte string specified by + * src and slen, and using ps, converts that to a wide character. Then + * it is checked to verify it is a collating symbol, and then copies + * it to the wide character string specified by dst and dlen (the + * results are not null terminated). The length of the wide characters + * copied to dst is returned if successful. Zero is returned if no such + * collating symbol exists. (size_t)-1 is returned if there are wide-character + * conversion errors, if the length of the converted string is greater that + * STR_LEN or if dlen is too small. It is up to the calling routine to + * preserve the mbstate_t structure as needed. + */ +size_t +__collate_collating_symbol(wchar_t *dst, size_t dlen, const char *src, + size_t slen, mbstate_t *ps) +{ + wchar_t wname[STR_LEN]; + wchar_t w, *wp; + size_t len, l; + + /* POSIX locale */ + if (__collate_load_error) { + if (dlen < 1) + return (size_t)-1; + if (slen != 1 || !isascii(*src)) + return 0; + *dst = *src; + return 1; + } + for(wp = wname, len = 0; slen > 0; len++) { + l = mbrtowc(&w, src, slen, ps); + if (l == (size_t)-1 || l == (size_t)-2) + return (size_t)-1; + if (l == 0) + break; + if (len >= STR_LEN) + return -1; + *wp++ = w; + src += l; + slen = (long)slen - (long)l; + } + if (len == 0 || len > dlen) + return (size_t)-1; + if (len == 1) { + if (*wname <= UCHAR_MAX) { + if (__collate_char_pri_table[*wname].pri[0] >= 0) { + if (dlen > 0) + *dst = *wname; + return 1; + } + return 0; + } else if (__collate_info->large_pri_count > 0) { + struct __collate_st_large_char_pri *match; + match = largesearch(*wname); + if (match && match->pri.pri[0] >= 0) { + if (dlen > 0) + *dst = *wname; + return 1; + } + } + return 0; + } + *wp = 0; + if (__collate_info->chain_count > 0) { + struct __collate_st_chain_pri *match; + int ll; + match = chainsearch(wname, &ll); + if (match) { + if (ll < dlen) + dlen = ll; + wcsncpy(dst, wname, dlen); + return ll; + } + } + return 0; +} + +/* + * __collate_equiv_class returns the equivalence class number for the symbol + * specified by src and slen, using ps to convert from multi-byte to wide + * character. Zero is returned if the symbol is not in an equivalence + * class. -1 is returned if there are wide character conversion error, + * if there are any greater-than-8-bit characters or if a multi-byte symbol + * is greater or equal to STR_LEN in length. It is up to the calling + * routine to preserve the mbstate_t structure as needed. + */ +int +__collate_equiv_class(const char *src, size_t slen, mbstate_t *ps) +{ + wchar_t wname[STR_LEN]; + wchar_t w, *wp; + size_t len, l; + int e; + + /* POSIX locale */ + if (__collate_load_error) + return 0; + for(wp = wname, len = 0; slen > 0; len++) { + l = mbrtowc(&w, src, slen, ps); + if (l == (size_t)-1 || l == (size_t)-2) + return -1; + if (l == 0) + break; + if (len >= STR_LEN) + return -1; + *wp++ = w; + src += l; + slen = (long)slen - (long)l; + } + if (len == 0) + return -1; + if (len == 1) { + e = -1; + if (*wname <= UCHAR_MAX) + e = __collate_char_pri_table[*wname].pri[0]; + else if (__collate_info->large_pri_count > 0) { + struct __collate_st_large_char_pri *match; + match = largesearch(*wname); + if (match) + e = match->pri.pri[0]; + } + if (e == 0) + return IGNORE_EQUIV_CLASS; + return e > 0 ? e : 0; + } + *wp = 0; + if (__collate_info->chain_count > 0) { + struct __collate_st_chain_pri *match; + int ll; + match = chainsearch(wname, &ll); + if (match) { + e = match->pri[0]; + if (e == 0) + return IGNORE_EQUIV_CLASS; + return e < 0 ? -e : e; + } + } + return 0; +} + +/* + * __collate_equiv_match tries to match any single or multi-character symbol + * in equivalence class equiv_class in the multi-byte string specified by src + * and slen. If start is non-zero, it is taken to be the first (pre-converted) + * wide character. Subsequence wide characters, if needed, will use ps in + * the conversion. On a successful match, the length of the matched string + * is returned (including the start character). If dst is non-NULL, the + * matched wide-character string is copied to dst, a wide character array of + * length dlen (the results are not zero-terminated). If rlen is non-NULL, + * the number of character in src actually used is returned. Zero is + * returned by __collate_equiv_match if there is no match. (size_t)-1 is + * returned on error: if there were conversion errors or if dlen is too small + * to accept the results. On no match or error, ps is restored to its incoming + * state. + */ +size_t +__collate_equiv_match(int equiv_class, wchar_t *dst, size_t dlen, wchar_t start, const char *src, size_t slen, mbstate_t *ps, size_t *rlen) +{ + wchar_t w; + size_t len, l, clen; + int i; + wchar_t buf[STR_LEN], *wp; + mbstate_t save; + const char *s = src; + size_t sl = slen; + struct __collate_st_chain_pri *ch = NULL; + + /* POSIX locale */ + if (__collate_load_error) + return (size_t)-1; + if (equiv_class == IGNORE_EQUIV_CLASS) + equiv_class = 0; + if (ps) + save = *ps; + wp = buf; + len = clen = 0; + if (start) { + *wp++ = start; + len = 1; + } + /* convert up to the max chain length */ + while(sl > 0 && len < __collate_info->chain_max_len) { + l = mbrtowc(&w, s, sl, ps); + if (l == (size_t)-1 || l == (size_t)-2 || l == 0) + break; + *wp++ = w; + s += l; + clen += l; + sl -= l; + len++; + } + *wp = 0; + if (len > 1 && (ch = chainsearch(buf, &i)) != NULL) { + int e = ch->pri[0]; + if (e < 0) + e = -e; + if (e == equiv_class) + goto found; + } + /* try single character */ + i = 1; + if (*buf <= UCHAR_MAX) { + if (equiv_class == __collate_char_pri_table[*buf].pri[0]) + goto found; + } else if (__collate_info->large_pri_count > 0) { + struct __collate_st_large_char_pri *match; + match = largesearch(*buf); + if (match && equiv_class == match->pri.pri[0]) + goto found; + } + /* no match */ + if (ps) + *ps = save; + return 0; +found: + /* if we converted more than we used, restore to initial and reconvert + * up to what did match */ + if (i < len) { + len = i; + if (ps) + *ps = save; + if (start) + i--; + clen = 0; + while(i-- > 0) { + l = mbrtowc(&w, src, slen, ps); + src += l; + clen += l; + slen -= l; + } + } + if (dst) { + if (dlen < len) { + if (ps) + *ps = save; + return (size_t)-1; + } + for(wp = buf; len > 0; len--) + *dst++ = *wp++; + } + if (rlen) + *rlen = clen; + return len; +} + +#if _BYTE_ORDER == _LITTLE_ENDIAN +static void +wntohl(wchar_t *str, int len) +{ + for(; *str && len > 0; str++, len--) + *str = ntohl(*str); +} +#endif /* _BYTE_ORDER == _LITTLE_ENDIAN */ + #ifdef COLLATE_DEBUG +static char * +show(int c) +{ + static char buf[5]; + + if (c >=32 && c <= 126) + sprintf(buf, "'%c' ", c); + else + sprintf(buf, "\\x{%02x}", c); + return buf; +} + +static char * +showwcs(const wchar_t *t, int len) +{ + static char buf[64]; + char *cp = buf; + + for(; *t && len > 0; len--, t++) { + if (*t >=32 && *t <= 126) + *cp++ = *t; + else { + sprintf(cp, "\\x{%02x}", *t); + cp += strlen(cp); + } + } + *cp = 0; + return buf; +} + void __collate_print_tables() { - int i; - struct __collate_st_chain_pri *p2; + int i, z; + locale_t loc = __current_locale(); - printf("Substitute table:\n"); - for (i = 0; i < UCHAR_MAX + 1; i++) - if (i != *__collate_substitute_table[i]) - printf("\t'%c' --> \"%s\"\n", i, - __collate_substitute_table[i]); - printf("Chain priority table:\n"); - for (p2 = __collate_chain_pri_table; p2->str[0] != '\0'; p2++) - printf("\t\"%s\" : %d %d\n", p2->str, p2->prim, p2->sec); + printf("Info: p=%d s=%d f=0x%02x m=%d dc=%d up=%d us=%d pc=%d " + "sc=%d cc=%d lc=%d\n", + __collate_info->directive[0], __collate_info->directive[1], + __collate_info->flags, __collate_info->chain_max_len, + __collate_info->directive_count, + __collate_info->undef_pri[0], __collate_info->undef_pri[1], + __collate_info->subst_count[0], __collate_info->subst_count[1], + __collate_info->chain_count, __collate_info->large_pri_count); + for(z = 0; z < __collate_info->directive_count; z++) { + if (__collate_info->subst_count[z] > 0) { + struct __collate_st_subst *p2 = + __collate_substitute_table[z]; + if (z == 0 && (__collate_info->flags & + COLLATE_SUBST_DUP)) + printf("Both substitute tables:\n"); + else + printf("Substitute table %d:\n", z); + for (i = __collate_info->subst_count[z]; i-- > 0; p2++) + printf("\t%s --> \"%s\"\n", + show(p2->val), + showwcs(p2->str, STR_LEN)); + } + } + if (__collate_info->chain_count > 0) { + printf("Chain priority table:\n"); + struct __collate_st_chain_pri *p2 = __collate_chain_pri_table; + for (i = __collate_info->chain_count; i-- > 0; p2++) { + printf("\t\"%s\" :", showwcs(p2->str, STR_LEN)); + for(z = 0; z < __collate_info->directive_count; z++) + printf(" %d", p2->pri[z]); + putchar('\n'); + } + } printf("Char priority table:\n"); - for (i = 0; i < UCHAR_MAX + 1; i++) - printf("\t'%c' : %d %d\n", i, __collate_char_pri_table[i].prim, - __collate_char_pri_table[i].sec); + { + struct __collate_st_char_pri *p2 = __collate_char_pri_table; + for (i = 0; i < UCHAR_MAX + 1; i++, p2++) { + printf("\t%s :", show(i)); + for(z = 0; z < __collate_info->directive_count; z++) + printf(" %d", p2->pri[z]); + putchar('\n'); + } + } + if (__collate_info->large_pri_count > 0) { + struct __collate_st_large_char_pri *p2 = + __collate_large_char_pri_table; + printf("Large priority table:\n"); + for (i = __collate_info->large_pri_count; i-- > 0; p2++) { + printf("\t%s :", show(p2->val)); + for(z = 0; z < __collate_info->directive_count; z++) + printf(" %d", p2->pri.pri[z]); + putchar('\n'); + } + } } #endif From owner-p4-projects@FreeBSD.ORG Sun Aug 3 21:53:47 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B1B211065675; Sun, 3 Aug 2008 21:53:47 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 766D1106566B for ; Sun, 3 Aug 2008 21:53:47 +0000 (UTC) (envelope-from andenore@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 623A98FC1C for ; Sun, 3 Aug 2008 21:53:47 +0000 (UTC) (envelope-from andenore@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m73LrlWW019706 for ; Sun, 3 Aug 2008 21:53:47 GMT (envelope-from andenore@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m73Lrlwd019704 for perforce@freebsd.org; Sun, 3 Aug 2008 21:53:47 GMT (envelope-from andenore@FreeBSD.org) Date: Sun, 3 Aug 2008 21:53:47 GMT Message-Id: <200808032153.m73Lrlwd019704@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andenore@FreeBSD.org using -f From: Anders Nore To: Perforce Change Reviews Cc: Subject: PERFORCE change 146568 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, 03 Aug 2008 21:53:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=146568 Change 146568 by andenore@andenore_laptop on 2008/08/03 21:53:20 Improved progress indication for pkg_add -r, added date comparison for pkg_info, running e.g., pkg_info -M '*>2008 07 18' will list all installed packages after YYYY MM DD. Also added the caching of date to dbcache, so the lookup is done fast. Affected files ... .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/CHANGES#9 edit .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/add/Makefile#4 edit .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/convert/Makefile#4 edit .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/convert/perform.c#9 edit .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/info/info.h#5 edit .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/info/main.c#9 edit .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/info/perform.c#8 edit .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/info/show.c#7 edit .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/lib/Makefile#4 edit .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/lib/database.c#9 edit .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/lib/date.c#1 add .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/lib/file.c#3 edit .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/lib/global.c#4 edit .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/lib/lib.h#12 edit .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/lib/match.c#7 edit .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/lib/url.c#4 edit .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/version/Makefile#5 edit Differences ... ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/CHANGES#9 (text+ko) ==== @@ -13,7 +13,7 @@ significantly. - Uses human readable output for -s (size option) I'm not sure if this breaks things, but it looks Ok. (The old output is available via the -b option) - - Check installation date with -n (human readable) or -N (seconds since epoch) + - Print installation date with -n (human readable) or -N (seconds since epoch) Add: - Indexes information to dbcache according to the add ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/add/Makefile#4 (text+ko) ==== @@ -11,7 +11,4 @@ DPADD= ${LIBINSTALL} ${LIBFETCH} ${LIBMD} LDADD= ${LIBINSTALL} -lfetch -lmd -test: - ./test.sh - .include ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/convert/Makefile#4 (text+ko) ==== @@ -2,7 +2,7 @@ PROG= pkg_convert SRCS= perform.c main.c -CFLAGS+= -I${.CURDIR}/../lib -g +CFLAGS+= -I${.CURDIR}/../lib WARNS?= 3 #WFORMAT?= 1 ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/convert/perform.c#9 (text+ko) ==== ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/info/info.h#5 (text+ko) ==== @@ -67,6 +67,7 @@ extern Boolean UseBlkSz; extern Boolean KeepPackage; extern Boolean TimeEpoch; +extern Boolean DateMatch; extern char *InfoPrefix; extern char PlayPen[]; extern char *CheckPkg; ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/info/main.c#9 (text+ko) ==== @@ -33,6 +33,7 @@ Boolean QUIET = FALSE; Boolean UseBlkSz = FALSE; Boolean TimeEpoch = FALSE; +Boolean DateMatch = FALSE; char *InfoPrefix = (char *)(uintptr_t)""; char PlayPen[FILENAME_MAX]; char *CheckPkg = NULL; @@ -42,7 +43,7 @@ static void usage(void); -static char opts[] = "abcdDe:EfgGhiIjkKl:LmnNoO:pPqQrRst:TvVW:xX"; +static char opts[] = "abcdDe:EfgGhiIjkKl:LmMnNoO:pPqQrRst:TvVW:xX"; static struct option longopts[] = { { "all", no_argument, NULL, 'a' }, { "blocksize", no_argument, NULL, 'b' }, @@ -92,11 +93,15 @@ case 'a': MatchType = MATCH_ALL; break; + case 'b': + UseBlkSz = TRUE; + break; case 'v': Verbose++; /* Reasonable definition of 'everything' */ Flags = SHOW_COMMENT | SHOW_DESC | SHOW_PLIST | SHOW_INSTALL | - SHOW_DEINSTALL | SHOW_REQUIRE | SHOW_DISPLAY | SHOW_MTREE; + SHOW_DEINSTALL | SHOW_REQUIRE | SHOW_DISPLAY | SHOW_MTREE | + SHOW_DATE; break; case 'E': @@ -167,6 +172,10 @@ Flags |= SHOW_MTREE; break; + case 'M': + DateMatch = TRUE; + break; + case 's': Flags |= SHOW_SIZE; break; @@ -256,37 +265,36 @@ printf("Package tools revision: "); printf("%d\n", PKG_INSTALL_VERSION); exit(0); - } /* Set some reasonable defaults */ - if (!Flags) - Flags = SHOW_COMMENT | SHOW_DESC | SHOW_REQBY; + if (!Flags) + Flags = SHOW_COMMENT | SHOW_DESC | SHOW_REQBY; /* Get all the remaining package names, if any */ - while (*argv) { - /* - * Don't try to apply heuristics if arguments are regexs or if - * the argument refers to an existing file. + while (*argv) { + /* + * Don't try to apply heuristics if arguments are regexs or if + * the argument refers to an existing file. + */ + if (MatchType != MATCH_REGEX && MatchType != MATCH_EREGEX && !isfile(*argv) && !isURL(*argv)) { + while ((pkgs_split = strrchr(*argv, (int)'/')) != NULL) { + *pkgs_split++ = '\0'; + /* + * If character after the '/' is alphanumeric or shell + * metachar, then we've found the package name. Otherwise + * we've come across a trailing '/' and need to continue our + * quest. */ - if (MatchType != MATCH_REGEX && MatchType != MATCH_EREGEX && !isfile(*argv) && !isURL(*argv)) { - while ((pkgs_split = strrchr(*argv, (int)'/')) != NULL) { - *pkgs_split++ = '\0'; - /* - * If character after the '/' is alphanumeric or shell - * metachar, then we've found the package name. Otherwise - * we've come across a trailing '/' and need to continue our - * quest. - */ - if (isalnum(*pkgs_split) || ((MatchType == MATCH_GLOB) && \ - strpbrk(pkgs_split, "*?[]") != NULL)) { - *argv = pkgs_split; - break; - } - } + if (isalnum(*pkgs_split) || ((MatchType == MATCH_GLOB) && \ + strpbrk(pkgs_split, "*?[]") != NULL)) { + *argv = pkgs_split; + break; } - *pkgs++ = *argv++; + } } + *pkgs++ = *argv++; + } /* If no packages, yelp */ if (pkgs == start && MatchType != MATCH_ALL && !CheckPkg && ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/info/perform.c#8 (text+ko) ==== @@ -43,47 +43,47 @@ signal(SIGINT, cleanup); /* Overriding action? */ - if (Flags & SHOW_PKGNAME) { - return matched_packages(pkgs); - } else if (CheckPkg) { - return isinstalledpkg(CheckPkg) > 0 ? 0 : 1; + if (Flags & SHOW_PKGNAME) { + return matched_packages(pkgs); + } else if (CheckPkg) { + return isinstalledpkg(CheckPkg) > 0 ? 0 : 1; /* Not reached */ - } else if (!TAILQ_EMPTY(whead)) { - return find_pkg(whead); - } else if (LookUpOrigin != NULL) { - return find_pkgs_by_origin(LookUpOrigin); - } + } else if (!TAILQ_EMPTY(whead)) { + return find_pkg(whead); + } else if (LookUpOrigin != NULL) { + return find_pkgs_by_origin(LookUpOrigin); + } - if (MatchType != MATCH_EXACT) { - matched = matchinstalled(MatchType, pkgs, &errcode); + if (MatchType != MATCH_EXACT) { + matched = matchinstalled(MatchType * (DateMatch ? 10 : 1), pkgs, &errcode); - if (errcode != 0) - return 1; - /* Not reached */ + if (errcode != 0) + return 1; + /* Not reached */ - if (matched != NULL) - pkgs = matched; - else switch (MatchType) { - case MATCH_GLOB: - break; - case MATCH_ALL: - warnx("no packages installed"); - return 0; - /* Not reached */ - case MATCH_REGEX: - case MATCH_EREGEX: - warnx("no packages match pattern(s)"); - return 1; - /* Not reached */ - default: - break; - } + if (matched != NULL) + pkgs = matched; + else switch (MatchType) { + case MATCH_GLOB: + break; + case MATCH_ALL: + warnx("no packages installed"); + return 0; + /* Not reached */ + case MATCH_REGEX: + case MATCH_EREGEX: + warnx("no packages match pattern(s)"); + return 1; + /* Not reached */ + default: + break; } + } - for (i = 0; pkgs[i]; i++) - err_cnt += pkg_do(pkgs[i]); + for (i = 0; pkgs[i]; i++) + err_cnt += pkg_do(pkgs[i]); - return err_cnt; + return err_cnt; } static char *Home; @@ -101,89 +101,89 @@ int code = 0; if (isURL(pkg)) { - if ((cp = fileGetURL(NULL, pkg, KeepPackage)) != NULL) { - if (!getcwd(fname, FILENAME_MAX)) - upchuck("getcwd"); - isTMP = TRUE; - } else { - goto bail; - } + if ((cp = fileGetURL(NULL, pkg, KeepPackage)) != NULL) { + if (!getcwd(fname, FILENAME_MAX)) + upchuck("getcwd"); + isTMP = TRUE; + } else { + goto bail; + } } else if (fexists(pkg) && isfile(pkg)) { - int len; + int len; - if (*pkg != '/') { - if (!getcwd(fname, FILENAME_MAX)) - upchuck("getcwd"); - len = strlen(fname); - snprintf(&fname[len], FILENAME_MAX - len, "/%s", pkg); - } - else - strcpy(fname, pkg); - cp = fname; - } else { - if ((cp = fileFindByPath(NULL, pkg)) != NULL) - strncpy(fname, cp, FILENAME_MAX); + if (*pkg != '/') { + if (!getcwd(fname, FILENAME_MAX)) + upchuck("getcwd"); + len = strlen(fname); + snprintf(&fname[len], FILENAME_MAX - len, "/%s", pkg); } + else + strcpy(fname, pkg); + cp = fname; + } else { + if ((cp = fileFindByPath(NULL, pkg)) != NULL) + strncpy(fname, cp, FILENAME_MAX); + } - if (cp) { - if (!isURL(pkg)) { - /* - * Apply a crude heuristic to see how much space the package will - * take up once it's unpacked. I've noticed that most packages - * compress an average of 75%, but we're only unpacking the + files so - * be very optimistic. - */ - if (stat(fname, &sb) == FAIL) { - warnx("can't stat package file '%s'", fname); - code = 1; - goto bail; - } - Home = make_playpen(PlayPen, sb.st_size / 2); - if (unpack(fname, "'+*'")) { - warnx("error during unpacking, no info for '%s' available", pkg); - code = 1; - goto bail; - } - } + if (cp) { + if (!isURL(pkg)) { + /* + * Apply a crude heuristic to see how much space the package will + * take up once it's unpacked. I've noticed that most packages + * compress an average of 75%, but we're only unpacking the + files so + * be very optimistic. + */ + if (stat(fname, &sb) == FAIL) { + warnx("can't stat package file '%s'", fname); + code = 1; + goto bail; + } + Home = make_playpen(PlayPen, sb.st_size / 2); + if (unpack(fname, "'+*'")) { + warnx("error during unpacking, no info for '%s' available", pkg); + code = 1; + goto bail; + } } + } /* It's not an uninstalled package, try and find it among the installed */ - else { - int isinstalled = isinstalledpkg(pkg); - if (isinstalled < 0) { - warnx("the package info for package '%s' is corrupt", pkg); - return 1; - } else if (isinstalled == 0) { - warnx("can't find package '%s' installed or in a file!", pkg); - return 1; - } - sprintf(log_dir, "%s/%s", LOG_DIR, pkg); - if (chdir(log_dir) == FAIL) { - warnx("can't change directory to '%s'!", log_dir); - return 1; - } - installed = TRUE; + else { + int isinstalled = isinstalledpkg(pkg); + if (isinstalled < 0) { + warnx("the package info for package '%s' is corrupt", pkg); + return 1; + } else if (isinstalled == 0) { + warnx("can't find package '%s' installed or in a file!", pkg); + return 1; + } + sprintf(log_dir, "%s/%s", LOG_DIR, pkg); + if (chdir(log_dir) == FAIL) { + warnx("can't change directory to '%s'!", log_dir); + return 1; } + installed = TRUE; + } - plist.head = plist.tail = NULL; + plist.head = plist.tail = NULL; - /* We don't want to read the packinglist if not necessary (it's slow) */ - if (Flags & SHOW_DEPEND || Flags & SHOW_PLIST || Flags & SHOW_PREFIX || - Flags & SHOW_FILES || Flags & SHOW_SIZE || Flags & SHOW_CKSUM || - Flags & SHOW_ORIGIN || Flags & SHOW_FMTREV || Flags & SHOW_DATE) { + /* We don't want to read the packinglist if not necessary (it's slow) */ + if (Flags & SHOW_DEPEND || Flags & SHOW_PLIST || Flags & SHOW_PREFIX || + Flags & SHOW_FILES || Flags & SHOW_SIZE || Flags & SHOW_CKSUM || + Flags & SHOW_ORIGIN || Flags & SHOW_FMTREV || Flags & SHOW_DATE) { - /* Suck in the contents list */ - fp = fopen(CONTENTS_FNAME, "r"); - if (!fp) { - warnx("unable to open %s file", CONTENTS_FNAME); - code = 1; - goto bail; - } - /* If we have a prefix, add it now */ - read_plist(&plist, fp); - fclose(fp); + /* Suck in the contents list */ + fp = fopen(CONTENTS_FNAME, "r"); + if (!fp) { + warnx("unable to open %s file", CONTENTS_FNAME); + code = 1; + goto bail; } + /* If we have a prefix, add it now */ + read_plist(&plist, fp); + fclose(fp); + } - /* + /* * Index is special info type that has to override all others to make * any sense (this is the default behaviour of pkg_info). */ @@ -241,7 +241,7 @@ } if(plist.head != NULL && plist.tail != NULL) - free_plist(&plist); + free_plist(&plist); bail: leave_playpen(); @@ -345,115 +345,115 @@ static int find_pkg(struct which_head *which_list) { - char **installed; - int errcode, i; - struct which_entry *wp; + char **installed; + int errcode, i; + struct which_entry *wp; - /* Converts files in which_list to the absolute path of the file */ - TAILQ_FOREACH(wp, which_list, next) { - const char *msg = "file cannot be found"; - char *tmp; + /* Converts files in which_list to the absolute path of the file */ + TAILQ_FOREACH(wp, which_list, next) { + const char *msg = "file cannot be found"; + char *tmp; - wp->skip = TRUE; - /* If it's not a file, we'll see if it's an executable. */ - if (isfile(wp->file) == FALSE) { - if (strchr(wp->file, '/') == NULL) { - tmp = vpipe("/usr/bin/which %s", wp->file); - if (tmp != NULL) { - strlcpy(wp->file, tmp, PATH_MAX); - wp->skip = FALSE; - free(tmp); - } else - msg = "file is not in PATH"; - } - } else { - tmp = abspath(wp->file); - if (isfile(tmp)) { - strlcpy(wp->file, tmp, PATH_MAX); - wp->skip = FALSE; - } - free(tmp); - } - if (wp->skip == TRUE) - warnx("%s: %s", wp->file, msg); + wp->skip = TRUE; + /* If it's not a file, we'll see if it's an executable. */ + if (isfile(wp->file) == FALSE) { + if (strchr(wp->file, '/') == NULL) { + tmp = vpipe("/usr/bin/which %s", wp->file); + if (tmp != NULL) { + strlcpy(wp->file, tmp, PATH_MAX); + wp->skip = FALSE; + free(tmp); + } else + msg = "file is not in PATH"; + } + } else { + tmp = abspath(wp->file); + if (isfile(tmp)) { + strlcpy(wp->file, tmp, PATH_MAX); + wp->skip = FALSE; + } + free(tmp); } + if (wp->skip == TRUE) + warnx("%s: %s", wp->file, msg); + } - /* If cache exists check database for the key (i.e., file absolute path) */ - if (CacheExists == TRUE) { + /* If cache exists check database for the key (i.e., file absolute path) */ + if (CacheExists == TRUE) { // DEBUG("find_pkg: USES CACHE\n"); - TAILQ_FOREACH(wp, which_list, next) { - if (wp->skip == TRUE) - continue; - DBT tmp; - if (dbKeyExists(wp->file, &tmp)) - strlcpy(wp->package, tmp.data, PATH_MAX); - else - DEBUG("find_pkg: Doesn't exist\n"); - } - } else { - DEBUG("debug: not using cache; run pkg_convert\n"); + TAILQ_FOREACH(wp, which_list, next) { + if (wp->skip == TRUE) + continue; + DBT tmp; + if (dbKeyExists(wp->file, &tmp)) + strlcpy(wp->package, tmp.data, PATH_MAX); + else + DEBUG("find_pkg: Doesn't exist\n"); + } + } else { + DEBUG("debug: not using cache; run pkg_convert\n"); installed = matchinstalled(MATCH_ALL, NULL, &errcode); if (installed == NULL) - return errcode; + return errcode; for (i = 0; installed[i] != NULL; i++) { - FILE *fp; - Package pkg; - PackingList itr; - char *cwd = NULL; - char tmp[PATH_MAX]; + FILE *fp; + Package pkg; + PackingList itr; + char *cwd = NULL; + char tmp[PATH_MAX]; - snprintf(tmp, PATH_MAX, "%s/%s/%s", LOG_DIR, installed[i], - CONTENTS_FNAME); - fp = fopen(tmp, "r"); - if (fp == NULL) { - warn("%s", tmp); - return 1; - } + snprintf(tmp, PATH_MAX, "%s/%s/%s", LOG_DIR, installed[i], + CONTENTS_FNAME); + fp = fopen(tmp, "r"); + if (fp == NULL) { + warn("%s", tmp); + return 1; + } - pkg.head = pkg.tail = NULL; - read_plist(&pkg, fp); - fclose(fp); - for (itr = pkg.head; itr != pkg.tail; itr = itr->next) { - if (itr->type == PLIST_CWD) { - cwd = itr->name; - } else if (itr->type == PLIST_FILE) { - TAILQ_FOREACH(wp, which_list, next) { - if (wp->skip == TRUE) - continue; - if (!cmp_path(wp->file, itr->name, cwd)) - continue; - if (wp->package[0] != '\0') { - warnx("both %s and %s claim to have installed %s\n", - wp->package, installed[i], wp->file); - } else { - strlcpy(wp->package, installed[i], PATH_MAX); - } - } + pkg.head = pkg.tail = NULL; + read_plist(&pkg, fp); + fclose(fp); + for (itr = pkg.head; itr != pkg.tail; itr = itr->next) { + if (itr->type == PLIST_CWD) { + cwd = itr->name; + } else if (itr->type == PLIST_FILE) { + TAILQ_FOREACH(wp, which_list, next) { + if (wp->skip == TRUE) + continue; + if (!cmp_path(wp->file, itr->name, cwd)) + continue; + if (wp->package[0] != '\0') { + warnx("both %s and %s claim to have installed %s\n", + wp->package, installed[i], wp->file); + } else { + strlcpy(wp->package, installed[i], PATH_MAX); } + } } - free_plist(&pkg); + } + free_plist(&pkg); } - } + } - TAILQ_FOREACH(wp, which_list, next) { - if (wp->package[0] != '\0') { - if (Quiet) - puts(wp->package); - else - printf("%s was installed by package %s\n", \ - wp->file, wp->package); - } + TAILQ_FOREACH(wp, which_list, next) { + if (wp->package[0] != '\0') { + if (Quiet) + puts(wp->package); + else + printf("%s was installed by package %s\n", \ + wp->file, wp->package); } - while (!TAILQ_EMPTY(which_list)) { - wp = TAILQ_FIRST(which_list); - TAILQ_REMOVE(which_list, wp, next); - free(wp); - } + } + while (!TAILQ_EMPTY(which_list)) { + wp = TAILQ_FIRST(which_list); + TAILQ_REMOVE(which_list, wp, next); + free(wp); + } - free(which_list); - return 0; + free(which_list); + return 0; } /* @@ -466,21 +466,21 @@ static int find_pkgs_by_origin(const char *origin) { - char **matched; - int errcode, i; + char **matched; + int errcode, i; - if (!Quiet) - printf("The following installed package(s) has %s origin:\n", origin); + if (!Quiet) + printf("The following installed package(s) has %s origin:\n", origin); - matched = matchbyorigin(origin, &errcode); - if (matched == NULL) - return errcode; + matched = matchbyorigin(origin, &errcode); + if (matched == NULL) + return errcode; - for (i = 0; matched[i] != NULL; i++) { - puts(matched[i]); - } + for (i = 0; matched[i] != NULL; i++) { + puts(matched[i]); + } - return 0; + return 0; } /* ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/info/show.c#7 (text+ko) ==== @@ -29,19 +29,6 @@ #include #include -char sizeTable[][4] = { "B", "kB", "MB", "GB", "TB" }; - -unsigned int -human_readable(unsigned int size, int *index) -{ - if (size >= 1024) { - *index = *index + 1; - return human_readable(size/1024, index); - } - - return size; -} - void show_file(const char *title, const char *fname) { @@ -267,70 +254,68 @@ void show_size(const char *title, Package *plist) { - PackingList p; - Boolean ign = FALSE; - const char *dir = "."; - struct stat sb; - char tmp[FILENAME_MAX]; - unsigned long size = 0; - long blksize; - int headerlen; - char *descr; - char *prefix = NULL; + PackingList p; + Boolean ign = FALSE; + const char *dir = "."; + struct stat sb; + char tmp[FILENAME_MAX]; + unsigned long size = 0; + long blksize; + int headerlen; + char *descr; + char *prefix = NULL; - descr = getbsize(&headerlen, &blksize); - if (!Quiet) - printf("%s%s", InfoPrefix, title); + descr = getbsize(&headerlen, &blksize); + if (!Quiet) + printf("%s%s", InfoPrefix, title); - for (p = plist->head; p != NULL; p = p->next) { - switch (p->type) { + for (p = plist->head; p != NULL; p = p->next) { + switch (p->type) { case PLIST_FILE: - if (!ign) { - snprintf(tmp, FILENAME_MAX, "%s/%s", dir, p->name); - if (!lstat(tmp, &sb)) { - size += sb.st_size; + if (!ign) { + snprintf(tmp, FILENAME_MAX, "%s/%s", dir, p->name); + if (!lstat(tmp, &sb)) { + size += sb.st_size; - if (Verbose) - printf("%lu\t%s\n", - (unsigned long) howmany(sb.st_size, blksize), tmp); - } + if (Verbose) + printf("%lu\t%s\n", + (unsigned long) howmany(sb.st_size, blksize), tmp); } - ign = FALSE; - break; + } + ign = FALSE; + break; case PLIST_CWD: - if (!prefix) - prefix = p->name; + if (!prefix) + prefix = p->name; - if (p->name == NULL) - dir = prefix; - else - dir = p->name; - break; + if (p->name == NULL) + dir = prefix; + else + dir = p->name; + break; case PLIST_IGNORE: - ign = TRUE; - break; + ign = TRUE; + break; /* Silence GCC in the -Wall mode */ default: - break; + break; } + } + + if (!Quiet) { + if (UseBlkSz) + printf("%lu\t(%s)\n", howmany(size, blksize), descr); + else { + printf("%s\n", printHumanReadable(size)); } - - if (!Quiet) { - if (UseBlkSz) - printf("%lu\t(%s)\n", howmany(size, blksize), descr); - else { - int index = 0; - printf("%lu ", human_readable(size, &index)); - printf("%s\n", &sizeTable[index]); - } - } else - if (UseBlkSz) - printf("%lu\n", howmany(size, blksize)); - else - printf("%lu\n", size); + } else + if (UseBlkSz) + printf("%lu\n", howmany(size, blksize)); + else + printf("%lu\n", size); } /* Show files that don't match the recorded checksum */ ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/lib/Makefile#4 (text+ko) ==== @@ -3,7 +3,7 @@ LIB= install INTERNALLIB= SRCS= file.c msg.c plist.c str.c exec.c global.c pen.c database.c match.c \ - deps.c version.c pkgwrap.c url.c + deps.c version.c pkgwrap.c url.c date.c CFLAGS= WARNS?= 3 ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/lib/database.c#9 (text+ko) ==== @@ -229,9 +229,11 @@ Boolean skip = FALSE; char *cwd; DBT key, data; + time_t etime; + struct stat fstat; if (pkg->name == NULL || pkg->origin == NULL) { - if(showmsg) + if (showmsg) warnx("%s does not appear to be a valid package!", pkg->name); return 1; } @@ -241,7 +243,7 @@ data.size = strlen(pkg->origin) + 1; data.data = (char *)pkg->origin; - if(showmsg) + if (showmsg) printf("Saving package: %s\n", (char *)key.data); dbsave(&key, &data); @@ -274,5 +276,30 @@ } skip = FALSE; } + + /* Cache installtime */ + if (pkg->datetime != 0) + etime = pkg->datetime; + else { + char path[PATH_MAX]; + snprintf(path, sizeof(path), "%s/%s/%s", LOG_DIR, pkg->name, CONTENTS_FNAME); + if (stat(path, &fstat) == -1) + warn("Cannot stat file: %s", path); + etime = fstat.st_mtime; + } + + char *tmp[128], tmp2[128]; + snprintf(&tmp, sizeof(tmp), "+D%s", pkg->name); + snprintf(&tmp2, sizeof(tmp2), "%d", (int)etime); + + key.size = strlen(tmp) + 1; + key.data = (char *)tmp; + data.size = strlen(tmp2) + 1; + data.data = (char *)tmp2; + dbsave(&key, &data); + + if (Verbose && showmsg) + printf("Saving installdate: %s %s\n", tmp, tmp2); + return 0; } ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/lib/file.c#3 (text+ko) ==== @@ -27,6 +27,8 @@ #include #include +char sizeTable[][5] = { "Byte", "kB", "MB", "GB", "TB" }; + /* Quick check to see if a file exists */ Boolean fexists(const char *fname) @@ -425,3 +427,63 @@ } *buf = '\0'; } + +int +power(int base, int n) +{ + int i; + + for (i = 1; i= 1024) { + if (precision) + *precision = (size % 1024); + + *index = *index + 1; + return human_readable(size/1024, precision, num, index); + } + + if (precision) { + if (num <= 0) + num = 1; + + *precision = (*precision * power(10, num)); + *precision /= 1024; + } + + return size; +} + +char * +printHumanReadable(unsigned int size) +{ + static char result[32]; + int index = 0; + int tmpSize = 0, precision = 0; + + tmpSize = human_readable(size, &precision, 1, &index); + snprintf(result, PATH_MAX, "%d.%01d ", tmpSize, precision); + + if (index > sizeof(sizeTable)) + warnx("printHumanReadable: sizeTable out of bounds"); + else + strcat(result, sizeTable[index]); + + return result; +} + ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/lib/global.c#4 (text+ko) ==== @@ -31,4 +31,5 @@ int AutoAnswer = FALSE; int Verbose = 0; /* Allow multiple levels of verbose. */ DB *database = NULL; -Boolean CacheExists = FALSE; /* TRUE if cache exists (bdb file) */+Boolean CacheExists = FALSE; /* TRUE if cache exists (bdb file) */ + ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/lib/lib.h#12 (text+ko) ==== @@ -135,7 +135,7 @@ typedef enum _plist_t plist_t; enum _match_t { - MATCH_ALL, MATCH_EXACT, MATCH_GLOB, MATCH_NGLOB, MATCH_EREGEX, MATCH_REGEX + MATCH_ALL = 1, MATCH_EXACT, MATCH_GLOB, MATCH_NGLOB, MATCH_EREGEX, MATCH_REGEX }; typedef enum _match_t match_t; @@ -164,6 +164,7 @@ }; STAILQ_HEAD(reqr_by_head, reqr_by_entry); + /* Prototypes */ /* Misc */ int vsystem(const char *, ...); @@ -206,6 +207,7 @@ int unpack(const char *, const char *); void format_cmd(char *, int, const char *, const char *, const char *); + /* Msg */ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Aug 4 04:14:32 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2ABE9106569B; Mon, 4 Aug 2008 04:14:32 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E1016106567C for ; Mon, 4 Aug 2008 04:14:31 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CE1DE8FC24 for ; Mon, 4 Aug 2008 04:14:31 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m744EVK5069077 for ; Mon, 4 Aug 2008 04:14:31 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m744EVsq069075 for perforce@freebsd.org; Mon, 4 Aug 2008 04:14:31 GMT (envelope-from julian@freebsd.org) Date: Mon, 4 Aug 2008 04:14:31 GMT Message-Id: <200808040414.m744EVsq069075@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Cc: Subject: PERFORCE change 146588 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, 04 Aug 2008 04:14:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=146588 Change 146588 by julian@julian_trafmon1 on 2008/08/04 04:14:19 Keep the vimage side of thing s compiling too. Affected files ... .. //depot/projects/vimage/src/sys/netinet/tcp_input.c#28 edit .. //depot/projects/vimage/src/sys/netinet/tcp_output.c#18 edit .. //depot/projects/vimage/src/sys/netinet/tcp_syncache.c#31 edit .. //depot/projects/vimage/src/sys/netinet6/icmp6.c#25 edit .. //depot/projects/vimage/src/sys/netinet6/raw_ip6.c#20 edit Differences ... ==== //depot/projects/vimage/src/sys/netinet/tcp_input.c#28 (text+ko) ==== @@ -973,13 +973,13 @@ switch (iptos & IPTOS_ECN_MASK) { case IPTOS_ECN_CE: tp->t_flags |= TF_ECN_SND_ECE; - tcpstat.tcps_ecn_ce++; + V_tcpstat.tcps_ecn_ce++; break; case IPTOS_ECN_ECT0: - tcpstat.tcps_ecn_ect0++; + V_tcpstat.tcps_ecn_ect0++; break; case IPTOS_ECN_ECT1: - tcpstat.tcps_ecn_ect1++; + V_tcpstat.tcps_ecn_ect1++; break; } @@ -992,7 +992,7 @@ */ if ((thflags & TH_ECE) && SEQ_LEQ(th->th_ack, tp->snd_recover)) { - tcpstat.tcps_ecn_rcwnd++; + V_tcpstat.tcps_ecn_rcwnd++; tcp_congestion_exp(tp); } } @@ -1391,7 +1391,7 @@ if ((thflags & TH_ECE) && V_tcp_do_ecn) { tp->t_flags |= TF_ECN_PERMIT; - tcpstat.tcps_ecn_shs++; + V_tcpstat.tcps_ecn_shs++; } /* ==== //depot/projects/vimage/src/sys/netinet/tcp_output.c#18 (text+ko) ==== @@ -918,7 +918,7 @@ else #endif ip->ip_tos |= IPTOS_ECN_ECT0; - tcpstat.tcps_ecn_ect0++; + V_tcpstat.tcps_ecn_ect0++; } /* ==== //depot/projects/vimage/src/sys/netinet/tcp_syncache.c#31 (text+ko) ==== @@ -1217,7 +1217,7 @@ sc->sc_peer_mss = to->to_mss; /* peer mss may be zero */ if (noopt) sc->sc_flags |= SCF_NOOPT; - if ((th->th_flags & (TH_ECE|TH_CWR)) && tcp_do_ecn) + if ((th->th_flags & (TH_ECE|TH_CWR)) && V_tcp_do_ecn) sc->sc_flags |= SCF_ECN; if (tcp_syncookies) { @@ -1360,7 +1360,7 @@ if (sc->sc_flags & SCF_ECN) { th->th_flags |= TH_ECE; - tcpstat.tcps_ecn_shs++; + V_tcpstat.tcps_ecn_shs++; } /* Tack on the TCP options. */ ==== //depot/projects/vimage/src/sys/netinet6/icmp6.c#25 (text+ko) ==== @@ -115,9 +115,9 @@ struct icmp6stat icmp6stat; +#ifndef VIMAGE extern struct inpcbinfo ripcbinfo; extern struct inpcbhead ripcb; -#ifndef VIMAGE extern int icmp6errppslim; static int icmp6errpps_count; #endif /* !VIMAGE */ @@ -2000,7 +2000,7 @@ } last = in6p; } - INP_INFO_RUNLOCK(&ripcbinfo); + INP_INFO_RUNLOCK(&V_ripcbinfo); if (last) { if (last->in6p_flags & IN6P_CONTROLOPTS) ip6_savecontrol(last, m, &opts); ==== //depot/projects/vimage/src/sys/netinet6/raw_ip6.c#20 (text+ko) ==== @@ -222,7 +222,7 @@ } last = in6p; } - INP_INFO_RUNLOCK(&ripcbinfo); + INP_INFO_RUNLOCK(&V_ripcbinfo); #ifdef IPSEC /* * Check AH/ESP integrity. @@ -771,7 +771,6 @@ rip6_send(struct socket *so, int flags, struct mbuf *m, struct sockaddr *nam, struct mbuf *control, struct thread *td) { - INIT_VNET_INET(so->so_vnet); struct inpcb *inp; struct sockaddr_in6 tmp; struct sockaddr_in6 *dst; From owner-p4-projects@FreeBSD.ORG Mon Aug 4 04:45:04 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F39891065673; Mon, 4 Aug 2008 04:45:03 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B6C3B106564A for ; Mon, 4 Aug 2008 04:45:03 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A22018FC25 for ; Mon, 4 Aug 2008 04:45:03 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m744j3iN071518 for ; Mon, 4 Aug 2008 04:45:03 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m744j2c4071514 for perforce@freebsd.org; Mon, 4 Aug 2008 04:45:02 GMT (envelope-from julian@freebsd.org) Date: Mon, 4 Aug 2008 04:45:02 GMT Message-Id: <200808040445.m744j2c4071514@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Cc: Subject: PERFORCE change 146592 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, 04 Aug 2008 04:45:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=146592 Change 146592 by julian@julian_trafmon1 on 2008/08/04 04:44:51 IFC via 'vimage' branch Affected files ... .. //depot/projects/vimage-devel/src/sys/amd64/amd64/cpu_switch.S#2 integrate .. //depot/projects/vimage-devel/src/sys/amd64/amd64/genassym.c#2 integrate .. //depot/projects/vimage-devel/src/sys/amd64/amd64/pmap.c#6 integrate .. //depot/projects/vimage-devel/src/sys/amd64/conf/GENERIC#4 integrate .. //depot/projects/vimage-devel/src/sys/amd64/ia32/ia32_signal.c#2 integrate .. //depot/projects/vimage-devel/src/sys/amd64/include/param.h#3 integrate .. //depot/projects/vimage-devel/src/sys/amd64/include/pcb.h#2 integrate .. //depot/projects/vimage-devel/src/sys/amd64/include/pmap.h#4 integrate .. //depot/projects/vimage-devel/src/sys/amd64/linux32/linux32_machdep.c#2 integrate .. //depot/projects/vimage-devel/src/sys/arm/arm/db_interface.c#2 integrate .. //depot/projects/vimage-devel/src/sys/arm/arm/swtch.S#2 integrate .. //depot/projects/vimage-devel/src/sys/arm/at91/uart_dev_at91usart.c#2 integrate .. //depot/projects/vimage-devel/src/sys/arm/conf/AVILA#2 integrate .. //depot/projects/vimage-devel/src/sys/arm/include/db_machdep.h#2 integrate .. //depot/projects/vimage-devel/src/sys/bsm/audit.h#2 integrate .. //depot/projects/vimage-devel/src/sys/bsm/audit_internal.h#2 integrate .. //depot/projects/vimage-devel/src/sys/bsm/audit_kevents.h#2 integrate .. //depot/projects/vimage-devel/src/sys/bsm/audit_record.h#2 integrate .. //depot/projects/vimage-devel/src/sys/cam/cam_xpt.c#2 integrate .. //depot/projects/vimage-devel/src/sys/compat/linux/linux_ioctl.c#3 integrate .. //depot/projects/vimage-devel/src/sys/compat/linux/linux_ioctl.h#2 integrate .. //depot/projects/vimage-devel/src/sys/compat/linux/linux_misc.c#6 integrate .. //depot/projects/vimage-devel/src/sys/compat/ndis/kern_ndis.c#2 integrate .. //depot/projects/vimage-devel/src/sys/conf/NOTES#5 integrate .. //depot/projects/vimage-devel/src/sys/conf/files#7 integrate .. //depot/projects/vimage-devel/src/sys/contrib/ipfilter/netinet/ip_compat.h#2 integrate .. //depot/projects/vimage-devel/src/sys/contrib/ipfilter/netinet/ip_fil.h#2 integrate .. //depot/projects/vimage-devel/src/sys/contrib/ipfilter/netinet/ip_nat.c#2 integrate .. //depot/projects/vimage-devel/src/sys/contrib/ipfilter/netinet/ip_nat.h#2 integrate .. //depot/projects/vimage-devel/src/sys/contrib/ipfilter/netinet/ip_state.c#2 integrate .. //depot/projects/vimage-devel/src/sys/contrib/pf/net/pf_ioctl.c#3 integrate .. //depot/projects/vimage-devel/src/sys/ddb/db_run.c#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/acpica/acpi.c#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/agp/agp_i810.c#3 integrate .. //depot/projects/vimage-devel/src/sys/dev/atkbdc/psm.c#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/bfe/if_bfe.c#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/bfe/if_bfereg.h#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/ciss/ciss.c#3 integrate .. //depot/projects/vimage-devel/src/sys/dev/ciss/cissreg.h#3 integrate .. //depot/projects/vimage-devel/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#5 integrate .. //depot/projects/vimage-devel/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/cxgb/ulp/tom/cxgb_ddp.c#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/cxgb/ulp/tom/cxgb_l2t.c#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/cxgb/ulp/tom/cxgb_listen.c#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/cxgb/ulp/tom/cxgb_tcp_offload.c#3 integrate .. //depot/projects/vimage-devel/src/sys/dev/cxgb/ulp/tom/cxgb_tcp_offload.h#3 integrate .. //depot/projects/vimage-devel/src/sys/dev/cxgb/ulp/tom/cxgb_tom.c#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/cxgb/ulp/tom/cxgb_tom_sysctl.c#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/e1000/LICENSE#1 branch .. //depot/projects/vimage-devel/src/sys/dev/e1000/README#1 branch .. //depot/projects/vimage-devel/src/sys/dev/e1000/e1000_80003es2lan.c#1 branch .. //depot/projects/vimage-devel/src/sys/dev/e1000/e1000_80003es2lan.h#1 branch .. //depot/projects/vimage-devel/src/sys/dev/e1000/e1000_82540.c#1 branch .. //depot/projects/vimage-devel/src/sys/dev/e1000/e1000_82541.c#1 branch .. //depot/projects/vimage-devel/src/sys/dev/e1000/e1000_82541.h#1 branch .. //depot/projects/vimage-devel/src/sys/dev/e1000/e1000_82542.c#1 branch .. //depot/projects/vimage-devel/src/sys/dev/e1000/e1000_82543.c#1 branch .. //depot/projects/vimage-devel/src/sys/dev/e1000/e1000_82543.h#1 branch .. //depot/projects/vimage-devel/src/sys/dev/e1000/e1000_82571.c#1 branch .. //depot/projects/vimage-devel/src/sys/dev/e1000/e1000_82571.h#1 branch .. //depot/projects/vimage-devel/src/sys/dev/e1000/e1000_82575.c#1 branch .. //depot/projects/vimage-devel/src/sys/dev/e1000/e1000_82575.h#1 branch .. //depot/projects/vimage-devel/src/sys/dev/e1000/e1000_api.c#1 branch .. //depot/projects/vimage-devel/src/sys/dev/e1000/e1000_api.h#1 branch .. //depot/projects/vimage-devel/src/sys/dev/e1000/e1000_defines.h#1 branch .. //depot/projects/vimage-devel/src/sys/dev/e1000/e1000_hw.h#1 branch .. //depot/projects/vimage-devel/src/sys/dev/e1000/e1000_ich8lan.c#1 branch .. //depot/projects/vimage-devel/src/sys/dev/e1000/e1000_ich8lan.h#1 branch .. //depot/projects/vimage-devel/src/sys/dev/e1000/e1000_mac.c#1 branch .. //depot/projects/vimage-devel/src/sys/dev/e1000/e1000_mac.h#1 branch .. //depot/projects/vimage-devel/src/sys/dev/e1000/e1000_manage.c#1 branch .. //depot/projects/vimage-devel/src/sys/dev/e1000/e1000_manage.h#1 branch .. //depot/projects/vimage-devel/src/sys/dev/e1000/e1000_nvm.c#1 branch .. //depot/projects/vimage-devel/src/sys/dev/e1000/e1000_nvm.h#1 branch .. //depot/projects/vimage-devel/src/sys/dev/e1000/e1000_osdep.c#1 branch .. //depot/projects/vimage-devel/src/sys/dev/e1000/e1000_osdep.h#1 branch .. //depot/projects/vimage-devel/src/sys/dev/e1000/e1000_phy.c#1 branch .. //depot/projects/vimage-devel/src/sys/dev/e1000/e1000_phy.h#1 branch .. //depot/projects/vimage-devel/src/sys/dev/e1000/e1000_regs.h#1 branch .. //depot/projects/vimage-devel/src/sys/dev/e1000/if_em.c#1 branch .. //depot/projects/vimage-devel/src/sys/dev/e1000/if_em.h#1 branch .. //depot/projects/vimage-devel/src/sys/dev/e1000/if_igb.c#1 branch .. //depot/projects/vimage-devel/src/sys/dev/e1000/if_igb.h#1 branch .. //depot/projects/vimage-devel/src/sys/dev/em/LICENSE#2 delete .. //depot/projects/vimage-devel/src/sys/dev/em/README#2 delete .. //depot/projects/vimage-devel/src/sys/dev/em/e1000_80003es2lan.c#2 delete .. //depot/projects/vimage-devel/src/sys/dev/em/e1000_80003es2lan.h#2 delete .. //depot/projects/vimage-devel/src/sys/dev/em/e1000_82540.c#2 delete .. //depot/projects/vimage-devel/src/sys/dev/em/e1000_82541.c#2 delete .. //depot/projects/vimage-devel/src/sys/dev/em/e1000_82541.h#2 delete .. //depot/projects/vimage-devel/src/sys/dev/em/e1000_82542.c#2 delete .. //depot/projects/vimage-devel/src/sys/dev/em/e1000_82543.c#2 delete .. //depot/projects/vimage-devel/src/sys/dev/em/e1000_82543.h#2 delete .. //depot/projects/vimage-devel/src/sys/dev/em/e1000_82571.c#2 delete .. //depot/projects/vimage-devel/src/sys/dev/em/e1000_82571.h#2 delete .. //depot/projects/vimage-devel/src/sys/dev/em/e1000_api.c#2 delete .. //depot/projects/vimage-devel/src/sys/dev/em/e1000_api.h#2 delete .. //depot/projects/vimage-devel/src/sys/dev/em/e1000_defines.h#2 delete .. //depot/projects/vimage-devel/src/sys/dev/em/e1000_hw.h#2 delete .. //depot/projects/vimage-devel/src/sys/dev/em/e1000_ich8lan.c#2 delete .. //depot/projects/vimage-devel/src/sys/dev/em/e1000_ich8lan.h#2 delete .. //depot/projects/vimage-devel/src/sys/dev/em/e1000_mac.c#2 delete .. //depot/projects/vimage-devel/src/sys/dev/em/e1000_mac.h#2 delete .. //depot/projects/vimage-devel/src/sys/dev/em/e1000_manage.c#2 delete .. //depot/projects/vimage-devel/src/sys/dev/em/e1000_manage.h#2 delete .. //depot/projects/vimage-devel/src/sys/dev/em/e1000_nvm.c#2 delete .. //depot/projects/vimage-devel/src/sys/dev/em/e1000_nvm.h#2 delete .. //depot/projects/vimage-devel/src/sys/dev/em/e1000_osdep.c#2 delete .. //depot/projects/vimage-devel/src/sys/dev/em/e1000_osdep.h#2 delete .. //depot/projects/vimage-devel/src/sys/dev/em/e1000_phy.c#2 delete .. //depot/projects/vimage-devel/src/sys/dev/em/e1000_phy.h#2 delete .. //depot/projects/vimage-devel/src/sys/dev/em/e1000_regs.h#2 delete .. //depot/projects/vimage-devel/src/sys/dev/em/if_em.c#2 delete .. //depot/projects/vimage-devel/src/sys/dev/em/if_em.h#2 delete .. //depot/projects/vimage-devel/src/sys/dev/hwpmc/hwpmc_mod.c#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/ie/if_ie.c#3 integrate .. //depot/projects/vimage-devel/src/sys/dev/ie/if_ie_isa.c#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/ie/if_ievar.h#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/igb/e1000_82575.c#2 delete .. //depot/projects/vimage-devel/src/sys/dev/igb/e1000_82575.h#2 delete .. //depot/projects/vimage-devel/src/sys/dev/igb/e1000_api.c#2 delete .. //depot/projects/vimage-devel/src/sys/dev/igb/e1000_api.h#2 delete .. //depot/projects/vimage-devel/src/sys/dev/igb/e1000_defines.h#2 delete .. //depot/projects/vimage-devel/src/sys/dev/igb/e1000_hw.h#2 delete .. //depot/projects/vimage-devel/src/sys/dev/igb/e1000_mac.c#2 delete .. //depot/projects/vimage-devel/src/sys/dev/igb/e1000_mac.h#2 delete .. //depot/projects/vimage-devel/src/sys/dev/igb/e1000_manage.c#2 delete .. //depot/projects/vimage-devel/src/sys/dev/igb/e1000_manage.h#2 delete .. //depot/projects/vimage-devel/src/sys/dev/igb/e1000_nvm.c#2 delete .. //depot/projects/vimage-devel/src/sys/dev/igb/e1000_nvm.h#2 delete .. //depot/projects/vimage-devel/src/sys/dev/igb/e1000_osdep.c#2 delete .. //depot/projects/vimage-devel/src/sys/dev/igb/e1000_osdep.h#2 delete .. //depot/projects/vimage-devel/src/sys/dev/igb/e1000_phy.c#2 delete .. //depot/projects/vimage-devel/src/sys/dev/igb/e1000_phy.h#2 delete .. //depot/projects/vimage-devel/src/sys/dev/igb/e1000_regs.h#2 delete .. //depot/projects/vimage-devel/src/sys/dev/igb/if_igb.c#2 delete .. //depot/projects/vimage-devel/src/sys/dev/igb/if_igb.h#2 delete .. //depot/projects/vimage-devel/src/sys/dev/iicbus/ds1339.c#1 branch .. //depot/projects/vimage-devel/src/sys/dev/ixgbe/ixgbe.c#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/ixgbe/ixgbe.h#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/ixgbe/ixgbe_82598.c#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/ixgbe/ixgbe_api.c#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/ixgbe/ixgbe_api.h#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/ixgbe/ixgbe_common.c#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/ixgbe/ixgbe_common.h#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/ixgbe/ixgbe_phy.c#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/ixgbe/ixgbe_phy.h#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/ixgbe/ixgbe_type.h#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/jme/if_jme.c#3 integrate .. //depot/projects/vimage-devel/src/sys/dev/kbd/kbd.c#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/kbdmux/kbdmux.c#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/nvram/nvram.c#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/pccard/pccarddevs#3 integrate .. //depot/projects/vimage-devel/src/sys/dev/pci/pci.c#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/pci/pci_pci.c#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/pci/pcivar.h#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/usb/ehci_pci.c#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/usb/ehcireg.h#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/usb/if_rum.c#3 integrate .. //depot/projects/vimage-devel/src/sys/dev/usb/if_ural.c#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/usb/ugen.c#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/usb/uhid.c#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/usb/uipaq.c#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/usb/usbdevs#4 integrate .. //depot/projects/vimage-devel/src/sys/dev/wi/if_wi.c#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/wi/if_wi_pccard.c#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/wi/if_wi_pci.c#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/wi/if_wireg.h#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/wi/if_wivar.h#2 integrate .. //depot/projects/vimage-devel/src/sys/i386/conf/GENERIC#4 integrate .. //depot/projects/vimage-devel/src/sys/i386/i386/mp_machdep.c#3 integrate .. //depot/projects/vimage-devel/src/sys/i386/i386/pmap.c#4 integrate .. //depot/projects/vimage-devel/src/sys/i386/include/profile.h#2 integrate .. //depot/projects/vimage-devel/src/sys/kern/kern_exec.c#3 integrate .. //depot/projects/vimage-devel/src/sys/kern/kern_lock.c#2 integrate .. //depot/projects/vimage-devel/src/sys/kern/kern_proc.c#2 integrate .. //depot/projects/vimage-devel/src/sys/kern/kern_timeout.c#5 integrate .. //depot/projects/vimage-devel/src/sys/kern/sched_4bsd.c#6 integrate .. //depot/projects/vimage-devel/src/sys/kern/subr_clist.c#2 integrate .. //depot/projects/vimage-devel/src/sys/kern/subr_lock.c#2 integrate .. //depot/projects/vimage-devel/src/sys/kern/subr_sleepqueue.c#2 integrate .. //depot/projects/vimage-devel/src/sys/kern/tty.c#4 integrate .. //depot/projects/vimage-devel/src/sys/kern/tty_info.c#1 branch .. //depot/projects/vimage-devel/src/sys/kern/uipc_usrreq.c#4 integrate .. //depot/projects/vimage-devel/src/sys/kern/vfs_cache.c#2 integrate .. //depot/projects/vimage-devel/src/sys/kern/vfs_subr.c#3 integrate .. //depot/projects/vimage-devel/src/sys/libkern/arc4random.c#3 integrate .. //depot/projects/vimage-devel/src/sys/modules/em/Makefile#2 integrate .. //depot/projects/vimage-devel/src/sys/modules/et/Makefile#2 integrate .. //depot/projects/vimage-devel/src/sys/modules/igb/Makefile#2 integrate .. //depot/projects/vimage-devel/src/sys/modules/mem/Makefile#3 integrate .. //depot/projects/vimage-devel/src/sys/modules/netgraph/bluetooth/socket/Makefile#2 integrate .. //depot/projects/vimage-devel/src/sys/modules/nfslockd/Makefile#3 integrate .. //depot/projects/vimage-devel/src/sys/net/bpf.c#6 integrate .. //depot/projects/vimage-devel/src/sys/net/bpf_buffer.c#2 integrate .. //depot/projects/vimage-devel/src/sys/net/bpfdesc.h#2 integrate .. //depot/projects/vimage-devel/src/sys/net/if.h#2 integrate .. //depot/projects/vimage-devel/src/sys/net/if_loop.c#5 integrate .. //depot/projects/vimage-devel/src/sys/net/if_media.h#2 integrate .. //depot/projects/vimage-devel/src/sys/net/route.c#5 integrate .. //depot/projects/vimage-devel/src/sys/net80211/ieee80211_dfs.c#2 integrate .. //depot/projects/vimage-devel/src/sys/net80211/ieee80211_freebsd.c#5 integrate .. //depot/projects/vimage-devel/src/sys/net80211/ieee80211_hostap.c#2 integrate .. //depot/projects/vimage-devel/src/sys/net80211/ieee80211_ht.c#3 integrate .. //depot/projects/vimage-devel/src/sys/net80211/ieee80211_input.c#2 integrate .. //depot/projects/vimage-devel/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#3 integrate .. //depot/projects/vimage-devel/src/sys/netgraph/bluetooth/include/ng_btsocket_sco.h#1 branch .. //depot/projects/vimage-devel/src/sys/netgraph/bluetooth/socket/ng_btsocket.c#2 integrate .. //depot/projects/vimage-devel/src/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c#2 integrate .. //depot/projects/vimage-devel/src/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#2 integrate .. //depot/projects/vimage-devel/src/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c#2 integrate .. //depot/projects/vimage-devel/src/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#2 integrate .. //depot/projects/vimage-devel/src/sys/netgraph/bluetooth/socket/ng_btsocket_sco.c#1 branch .. //depot/projects/vimage-devel/src/sys/netgraph/ng_l2tp.c#2 integrate .. //depot/projects/vimage-devel/src/sys/netinet/ip_divert.c#3 integrate .. //depot/projects/vimage-devel/src/sys/netinet/ip_fw2.c#6 integrate .. //depot/projects/vimage-devel/src/sys/netinet/raw_ip.c#6 integrate .. //depot/projects/vimage-devel/src/sys/netinet/sctp.h#3 integrate .. //depot/projects/vimage-devel/src/sys/netinet/sctp_asconf.c#4 integrate .. //depot/projects/vimage-devel/src/sys/netinet/sctp_bsd_addr.c#4 integrate .. //depot/projects/vimage-devel/src/sys/netinet/sctp_constants.h#3 integrate .. //depot/projects/vimage-devel/src/sys/netinet/sctp_input.c#4 integrate .. //depot/projects/vimage-devel/src/sys/netinet/sctp_output.c#5 integrate .. //depot/projects/vimage-devel/src/sys/netinet/sctp_pcb.c#5 integrate .. //depot/projects/vimage-devel/src/sys/netinet/sctp_pcb.h#5 integrate .. //depot/projects/vimage-devel/src/sys/netinet/sctp_timer.c#4 integrate .. //depot/projects/vimage-devel/src/sys/netinet/sctp_usrreq.c#5 integrate .. //depot/projects/vimage-devel/src/sys/netinet/sctp_var.h#5 integrate .. //depot/projects/vimage-devel/src/sys/netinet/sctputil.c#4 integrate .. //depot/projects/vimage-devel/src/sys/netinet/tcp_input.c#3 integrate .. //depot/projects/vimage-devel/src/sys/netinet/tcp_output.c#4 integrate .. //depot/projects/vimage-devel/src/sys/netinet/tcp_subr.c#4 integrate .. //depot/projects/vimage-devel/src/sys/netinet/tcp_syncache.c#7 integrate .. //depot/projects/vimage-devel/src/sys/netinet/tcp_syncache.h#7 integrate .. //depot/projects/vimage-devel/src/sys/netinet/tcp_usrreq.c#3 integrate .. //depot/projects/vimage-devel/src/sys/netinet/tcp_var.h#3 integrate .. //depot/projects/vimage-devel/src/sys/netinet/udp_usrreq.c#7 integrate .. //depot/projects/vimage-devel/src/sys/netinet/vinet.h#4 integrate .. //depot/projects/vimage-devel/src/sys/netinet6/icmp6.c#5 integrate .. //depot/projects/vimage-devel/src/sys/netinet6/ip6_output.c#3 integrate .. //depot/projects/vimage-devel/src/sys/netinet6/raw_ip6.c#5 integrate .. //depot/projects/vimage-devel/src/sys/netipsec/ipsec.c#6 integrate .. //depot/projects/vimage-devel/src/sys/netipx/ipx_input.c#4 integrate .. //depot/projects/vimage-devel/src/sys/netipx/ipx_usrreq.c#3 integrate .. //depot/projects/vimage-devel/src/sys/nfsclient/nfs_vfsops.c#7 integrate .. //depot/projects/vimage-devel/src/sys/pci/if_sis.c#2 integrate .. //depot/projects/vimage-devel/src/sys/rpc/auth_unix.c#4 integrate .. //depot/projects/vimage-devel/src/sys/security/audit/audit.c#3 integrate .. //depot/projects/vimage-devel/src/sys/security/audit/audit.h#3 integrate .. //depot/projects/vimage-devel/src/sys/security/audit/audit_arg.c#3 integrate .. //depot/projects/vimage-devel/src/sys/security/audit/audit_bsm_klib.c#3 integrate .. //depot/projects/vimage-devel/src/sys/security/audit/audit_bsm_token.c#3 integrate .. //depot/projects/vimage-devel/src/sys/security/audit/audit_pipe.c#2 integrate .. //depot/projects/vimage-devel/src/sys/security/audit/audit_private.h#3 integrate .. //depot/projects/vimage-devel/src/sys/security/audit/audit_syscalls.c#3 integrate .. //depot/projects/vimage-devel/src/sys/security/audit/audit_worker.c#3 integrate .. //depot/projects/vimage-devel/src/sys/security/mac_biba/mac_biba.c#4 integrate .. //depot/projects/vimage-devel/src/sys/security/mac_bsdextended/mac_bsdextended.c#2 integrate .. //depot/projects/vimage-devel/src/sys/security/mac_lomac/mac_lomac.c#3 integrate .. //depot/projects/vimage-devel/src/sys/security/mac_mls/mac_mls.c#4 integrate .. //depot/projects/vimage-devel/src/sys/security/mac_partition/mac_partition.c#2 integrate .. //depot/projects/vimage-devel/src/sys/sys/callout.h#2 integrate .. //depot/projects/vimage-devel/src/sys/sys/elf_common.h#2 integrate .. //depot/projects/vimage-devel/src/sys/sys/proc.h#3 integrate .. //depot/projects/vimage-devel/src/sys/sys/procfs.h#2 integrate .. //depot/projects/vimage-devel/src/sys/sys/refcount.h#2 integrate .. //depot/projects/vimage-devel/src/sys/sys/sockbuf.h#1 branch .. //depot/projects/vimage-devel/src/sys/sys/socketvar.h#4 integrate .. //depot/projects/vimage-devel/src/sys/sys/sockio.h#3 integrate .. //depot/projects/vimage-devel/src/sys/sys/sockopt.h#1 branch .. //depot/projects/vimage-devel/src/sys/sys/sockstate.h#1 branch .. //depot/projects/vimage-devel/src/sys/sys/vnode.h#2 integrate .. //depot/projects/vimage-devel/src/sys/ufs/ffs/ffs_balloc.c#2 integrate .. //depot/projects/vimage-devel/src/sys/ufs/ufs/ufs_lookup.c#2 integrate .. //depot/projects/vimage-devel/src/sys/vm/swap_pager.c#3 integrate .. //depot/projects/vimage-devel/src/sys/vm/vm_object.c#2 integrate .. //depot/projects/vimage-devel/src/sys/vm/vnode_pager.c#3 integrate Differences ... ==== //depot/projects/vimage-devel/src/sys/amd64/amd64/cpu_switch.S#2 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.161 2008/03/23 23:09:06 peter Exp $ + * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.162 2008/07/30 11:30:55 kib Exp $ */ #include @@ -113,8 +113,8 @@ movq PCB_GSBASE(%r8),%r10 testl $PCB_32BIT,PCB_FLAGS(%r8) - jnz store_gs /* static predict not taken */ -done_store_gs: + jnz store_seg +done_store_seg: testl $PCB_DBREGS,PCB_FLAGS(%r8) jnz store_dr /* static predict not taken */ @@ -176,6 +176,10 @@ testl $TDP_KTHREAD,TD_PFLAGS(%rsi) jnz do_kthread + testl $PCB_32BIT,PCB_FLAGS(%r8) + jnz load_seg +done_load_seg: + cmpq PCB_FSBASE(%r8),%r9 jz 1f /* Restore userland %fs */ @@ -184,7 +188,6 @@ movl PCB_FSBASE+4(%r8),%edx wrmsr 1: - cmpq PCB_GSBASE(%r8),%r10 jz 2f /* Restore userland %gs */ @@ -193,8 +196,8 @@ movl PCB_GSBASE+4(%r8),%edx wrmsr 2: + do_tss: - /* Update the TSS_RSP0 pointer for the next interrupt */ movq PCPU(TSSP), %rax movq %r8, PCPU(RSP0) @@ -208,10 +211,6 @@ jnz load_dr /* static predict not taken */ done_load_dr: - testl $PCB_32BIT,PCB_FLAGS(%r8) - jnz load_gs /* static predict not taken */ -done_load_gs: - /* Restore context. */ movq PCB_R15(%r8),%r15 movq PCB_R14(%r8),%r14 @@ -243,23 +242,35 @@ movq %r10,PCB_GSBASE(%r8) jmp do_tss -store_gs: +store_seg: movl %gs,PCB_GS(%r8) - movq PCB_GS32P(%r8),%rax + testl $PCB_GS32BIT,PCB_FLAGS(%r8) + jnz 2f +1: movl %ds,PCB_DS(%r8) + movl %es,PCB_ES(%r8) + movl %fs,PCB_FS(%r8) + jmp done_store_seg +2: movq PCB_GS32P(%r8),%rax movq (%rax),%rax movq %rax,PCB_GS32SD(%r8) - jmp done_store_gs + jmp 1b -load_gs: +load_seg: + testl $PCB_GS32BIT,PCB_FLAGS(%r8) + jnz 2f +1: movl $MSR_GSBASE,%ecx + rdmsr + movl PCB_GS(%r8),%gs + wrmsr + movl PCB_DS(%r8),%ds + movl PCB_ES(%r8),%es + movl PCB_FS(%r8),%fs + jmp done_load_seg /* Restore userland %gs while preserving kernel gsbase */ - movq PCB_GS32P(%r8),%rax +2: movq PCB_GS32P(%r8),%rax movq PCB_GS32SD(%r8),%rcx movq %rcx,(%rax) - movl $MSR_GSBASE,%ecx - rdmsr - movl PCB_GS(%r8),%gs - wrmsr - jmp done_load_gs + jmp 1b store_dr: movq %dr7,%rax /* yes, do the save */ ==== //depot/projects/vimage-devel/src/sys/amd64/amd64/genassym.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.168 2008/05/16 13:23:47 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.169 2008/07/30 11:30:55 kib Exp $"); #include "opt_compat.h" #include "opt_kstack_pages.h" @@ -140,6 +140,7 @@ ASSYM(PCB_DR7, offsetof(struct pcb, pcb_dr7)); ASSYM(PCB_DBREGS, PCB_DBREGS); ASSYM(PCB_32BIT, PCB_32BIT); +ASSYM(PCB_GS32BIT, PCB_GS32BIT); ASSYM(PCB_FULLCTX, PCB_FULLCTX); ASSYM(PCB_FLAGS, offsetof(struct pcb, pcb_flags)); ==== //depot/projects/vimage-devel/src/sys/amd64/amd64/pmap.c#6 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.634 2008/07/18 22:05:51 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.642 2008/08/02 03:43:54 alc Exp $"); /* * Manages physical address maps. @@ -222,6 +222,8 @@ static int pmap_pvh_wired_mappings(struct md_page *pvh, int count); static boolean_t pmap_demote_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t va); +static boolean_t pmap_demote_pdpe(pmap_t pmap, pdp_entry_t *pdpe, + vm_offset_t va); static boolean_t pmap_enter_pde(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot); static vm_page_t pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, @@ -230,9 +232,11 @@ static void pmap_insert_pt_page(pmap_t pmap, vm_page_t mpte); static boolean_t pmap_is_modified_pvh(struct md_page *pvh); static vm_page_t pmap_lookup_pt_page(pmap_t pmap, vm_offset_t va); +static void pmap_pde_attr(pd_entry_t *pde, int cache_bits); static void pmap_promote_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t va); static boolean_t pmap_protect_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t sva, vm_prot_t prot); +static void pmap_pte_attr(pt_entry_t *pte, int cache_bits); static int pmap_remove_pde(pmap_t pmap, pd_entry_t *pdq, vm_offset_t sva, vm_page_t *free); static int pmap_remove_pte(pmap_t pmap, pt_entry_t *ptq, @@ -739,6 +743,13 @@ SYSCTL_ULONG(_vm_pmap_pde, OID_AUTO, promotions, CTLFLAG_RD, &pmap_pde_promotions, 0, "2MB page promotions"); +SYSCTL_NODE(_vm_pmap, OID_AUTO, pdpe, CTLFLAG_RD, 0, + "1GB page mapping counters"); + +static u_long pmap_pdpe_demotions; +SYSCTL_ULONG(_vm_pmap_pdpe, OID_AUTO, demotions, CTLFLAG_RD, + &pmap_pdpe_demotions, 0, "1GB page demotions"); + /*************************************************** * Low level helper routines..... @@ -3350,9 +3361,8 @@ * are taken, but the code works. */ void -pmap_object_init_pt(pmap_t pmap, vm_offset_t addr, - vm_object_t object, vm_pindex_t pindex, - vm_size_t size) +pmap_object_init_pt(pmap_t pmap, vm_offset_t addr, vm_object_t object, + vm_pindex_t pindex, vm_size_t size) { vm_offset_t va; vm_page_t p, pdpg; @@ -3500,7 +3510,7 @@ void pmap_copy(pmap_t dst_pmap, pmap_t src_pmap, vm_offset_t dst_addr, vm_size_t len, - vm_offset_t src_addr) + vm_offset_t src_addr) { vm_page_t free; vm_offset_t addr; @@ -4251,41 +4261,35 @@ /* Adjust the cache mode for a 4KB page mapped via a PTE. */ static __inline void -pmap_pte_attr(vm_offset_t va, int mode) +pmap_pte_attr(pt_entry_t *pte, int cache_bits) { - pt_entry_t *pte; u_int opte, npte; - pte = vtopte(va); - /* * The cache mode bits are all in the low 32-bits of the * PTE, so we can just spin on updating the low 32-bits. */ do { opte = *(u_int *)pte; - npte = opte & ~(PG_PTE_PAT | PG_NC_PCD | PG_NC_PWT); - npte |= pmap_cache_bits(mode, 0); + npte = opte & ~PG_PTE_CACHE; + npte |= cache_bits; } while (npte != opte && !atomic_cmpset_int((u_int *)pte, opte, npte)); } /* Adjust the cache mode for a 2MB page mapped via a PDE. */ static __inline void -pmap_pde_attr(vm_offset_t va, int mode) +pmap_pde_attr(pd_entry_t *pde, int cache_bits) { - pd_entry_t *pde; u_int opde, npde; - pde = pmap_pde(kernel_pmap, va); - /* * The cache mode bits are all in the low 32-bits of the * PDE, so we can just spin on updating the low 32-bits. */ do { opde = *(u_int *)pde; - npde = opde & ~(PG_PDE_PAT | PG_NC_PCD | PG_NC_PWT); - npde |= pmap_cache_bits(mode, 1); + npde = opde & ~PG_PDE_CACHE; + npde |= cache_bits; } while (npde != opde && !atomic_cmpset_int((u_int *)pde, opde, npde)); } @@ -4301,11 +4305,14 @@ vm_offset_t va, tmpva, offset; /* - * If this fits within the direct map window and use WB caching - * mode, use the direct map. + * If the specified range of physical addresses fits within the direct + * map window, use the direct map. */ - if (pa < dmaplimit && (pa + size) < dmaplimit && mode == PAT_WRITE_BACK) - return ((void *)PHYS_TO_DMAP(pa)); + if (pa < dmaplimit && pa + size < dmaplimit) { + va = PHYS_TO_DMAP(pa); + if (!pmap_change_attr(va, size, mode)) + return ((void *)va); + } offset = pa & PAGE_MASK; size = roundup(offset + size, PAGE_SIZE); va = kmem_alloc_nofault(kernel_map, size); @@ -4354,70 +4361,213 @@ kmem_free(kernel_map, base, size); } +/* + * Tries to demote a 1GB page mapping. + */ +static boolean_t +pmap_demote_pdpe(pmap_t pmap, pdp_entry_t *pdpe, vm_offset_t va) +{ + pdp_entry_t newpdpe, oldpdpe; + pd_entry_t *firstpde, newpde, *pde; + vm_paddr_t mpdepa; + vm_page_t mpde; + + PMAP_LOCK_ASSERT(pmap, MA_OWNED); + oldpdpe = *pdpe; + KASSERT((oldpdpe & (PG_PS | PG_V)) == (PG_PS | PG_V), + ("pmap_demote_pdpe: oldpdpe is missing PG_PS and/or PG_V")); + if ((mpde = vm_page_alloc(NULL, va >> PDPSHIFT, VM_ALLOC_INTERRUPT | + VM_ALLOC_NOOBJ | VM_ALLOC_WIRED)) == NULL) { + CTR2(KTR_PMAP, "pmap_demote_pdpe: failure for va %#lx" + " in pmap %p", va, pmap); + return (FALSE); + } + mpdepa = VM_PAGE_TO_PHYS(mpde); + firstpde = (pd_entry_t *)PHYS_TO_DMAP(mpdepa); + newpdpe = mpdepa | PG_M | PG_A | (oldpdpe & PG_U) | PG_RW | PG_V; + KASSERT((oldpdpe & PG_A) != 0, + ("pmap_demote_pdpe: oldpdpe is missing PG_A")); + KASSERT((oldpdpe & (PG_M | PG_RW)) != PG_RW, + ("pmap_demote_pdpe: oldpdpe is missing PG_M")); + newpde = oldpdpe; + + /* + * Initialize the page directory page. + */ + for (pde = firstpde; pde < firstpde + NPDEPG; pde++) { + *pde = newpde; + newpde += NBPDR; + } + + /* + * Demote the mapping. + */ + *pdpe = newpdpe; + + /* + * Invalidate a stale recursive mapping of the page directory page. + */ + pmap_invalidate_page(pmap, (vm_offset_t)vtopde(va)); + + pmap_pdpe_demotions++; + CTR2(KTR_PMAP, "pmap_demote_pdpe: success for va %#lx" + " in pmap %p", va, pmap); + return (TRUE); +} + int -pmap_change_attr(va, size, mode) - vm_offset_t va; - vm_size_t size; - int mode; +pmap_change_attr(vm_offset_t va, vm_size_t size, int mode) { vm_offset_t base, offset, tmpva; + pdp_entry_t *pdpe; pd_entry_t *pde; pt_entry_t *pte; + int cache_bits_pte, cache_bits_pde; + boolean_t changed; base = trunc_page(va); offset = va & PAGE_MASK; size = roundup(offset + size, PAGE_SIZE); - /* Only supported on kernel virtual addresses. */ - if (base <= VM_MAXUSER_ADDRESS) + /* + * Only supported on kernel virtual addresses, including the direct + * map but excluding the recursive map. + */ + if (base < DMAP_MIN_ADDRESS) return (EINVAL); + cache_bits_pde = cache_bits_pte = -1; + changed = FALSE; + /* - * XXX: We have to support tearing 2MB pages down into 4k pages if - * needed here. + * Pages that aren't mapped aren't supported. Also break down 2MB pages + * into 4KB pages if required. */ - /* Pages that aren't mapped aren't supported. */ - for (tmpva = base; tmpva < (base + size); ) { - pde = pmap_pde(kernel_pmap, tmpva); - if (*pde == 0) + PMAP_LOCK(kernel_pmap); + for (tmpva = base; tmpva < base + size; ) { + pdpe = pmap_pdpe(kernel_pmap, tmpva); + if (*pdpe == 0) { + PMAP_UNLOCK(kernel_pmap); + return (EINVAL); + } + if (*pdpe & PG_PS) { + /* + * If the current 1GB page already has the required + * memory type, then we need not demote this page. Just + * increment tmpva to the next 1GB page frame. + */ + if (cache_bits_pde < 0) + cache_bits_pde = pmap_cache_bits(mode, 1); + if ((*pdpe & PG_PDE_CACHE) == cache_bits_pde) { + tmpva = trunc_1gpage(tmpva) + NBPDP; + continue; + } + + /* + * If the current offset aligns with a 1GB page frame + * and there is at least 1GB left within the range, then + * we need not break down this page into 2MB pages. + */ + if ((tmpva & PDPMASK) == 0 && + tmpva + PDPMASK < base + size) { + tmpva += NBPDP; + continue; + } + if (!pmap_demote_pdpe(kernel_pmap, pdpe, tmpva)) { + PMAP_UNLOCK(kernel_pmap); + return (ENOMEM); + } + } + pde = pmap_pdpe_to_pde(pdpe, tmpva); + if (*pde == 0) { + PMAP_UNLOCK(kernel_pmap); return (EINVAL); + } if (*pde & PG_PS) { - /* Handle 2MB pages that are completely contained. */ - if (size >= NBPDR) { + /* + * If the current 2MB page already has the required + * memory type, then we need not demote this page. Just + * increment tmpva to the next 2MB page frame. + */ + if (cache_bits_pde < 0) + cache_bits_pde = pmap_cache_bits(mode, 1); + if ((*pde & PG_PDE_CACHE) == cache_bits_pde) { + tmpva = trunc_2mpage(tmpva) + NBPDR; + continue; + } + + /* + * If the current offset aligns with a 2MB page frame + * and there is at least 2MB left within the range, then + * we need not break down this page into 4KB pages. + */ + if ((tmpva & PDRMASK) == 0 && + tmpva + PDRMASK < base + size) { tmpva += NBPDR; continue; } - return (EINVAL); + if (!pmap_demote_pde(kernel_pmap, pde, tmpva)) { + PMAP_UNLOCK(kernel_pmap); + return (ENOMEM); + } } pte = vtopte(tmpva); - if (*pte == 0) + if (*pte == 0) { + PMAP_UNLOCK(kernel_pmap); return (EINVAL); + } tmpva += PAGE_SIZE; } + PMAP_UNLOCK(kernel_pmap); /* * Ok, all the pages exist, so run through them updating their - * cache mode. + * cache mode if required. */ - for (tmpva = base; size > 0; ) { - pde = pmap_pde(kernel_pmap, tmpva); + for (tmpva = base; tmpva < base + size; ) { + pdpe = pmap_pdpe(kernel_pmap, tmpva); + if (*pdpe & PG_PS) { + if (cache_bits_pde < 0) + cache_bits_pde = pmap_cache_bits(mode, 1); + if ((*pdpe & PG_PDE_CACHE) != cache_bits_pde) { + pmap_pde_attr(pdpe, cache_bits_pde); + if (!changed) + changed = TRUE; + } + tmpva = trunc_1gpage(tmpva) + NBPDP; + continue; + } + pde = pmap_pdpe_to_pde(pdpe, tmpva); if (*pde & PG_PS) { - pmap_pde_attr(tmpva, mode); - tmpva += NBPDR; - size -= NBPDR; + if (cache_bits_pde < 0) + cache_bits_pde = pmap_cache_bits(mode, 1); + if ((*pde & PG_PDE_CACHE) != cache_bits_pde) { + pmap_pde_attr(pde, cache_bits_pde); + if (!changed) + changed = TRUE; + } + tmpva = trunc_2mpage(tmpva) + NBPDR; } else { - pmap_pte_attr(tmpva, mode); + if (cache_bits_pte < 0) + cache_bits_pte = pmap_cache_bits(mode, 0); + pte = vtopte(tmpva); + if ((*pte & PG_PTE_CACHE) != cache_bits_pte) { + pmap_pte_attr(pte, cache_bits_pte); + if (!changed) + changed = TRUE; + } tmpva += PAGE_SIZE; - size -= PAGE_SIZE; } } /* - * Flush CPU caches to make sure any data isn't cached that shouldn't - * be, etc. - */ - pmap_invalidate_range(kernel_pmap, base, tmpva); - pmap_invalidate_cache(); + * Flush CPU caches if required to make sure any data isn't cached that + * shouldn't be, etc. + */ + if (changed) { + pmap_invalidate_range(kernel_pmap, base, tmpva); + pmap_invalidate_cache(); + } return (0); } ==== //depot/projects/vimage-devel/src/sys/amd64/conf/GENERIC#4 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.504 2008/07/13 07:20:14 ed Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.505 2008/07/30 22:27:38 jfv Exp $ cpu HAMMER ident GENERIC @@ -189,7 +189,8 @@ # PCI Ethernet NICs. device de # DEC/Intel DC21x4x (``Tulip'') -device em # Intel PRO/1000 adapter Gigabit Ethernet Card +device em # Intel PRO/1000 Gigabit Ethernet Family +device igb # Intel PRO/1000 PCIE Server Gigabit Family device ixgb # Intel PRO/10GbE Ethernet Card device le # AMD Am7900 LANCE and Am79C9xx PCnet device ti # Alteon Networks Tigon I/II gigabit Ethernet ==== //depot/projects/vimage-devel/src/sys/amd64/ia32/ia32_signal.c#2 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_signal.c,v 1.17 2008/03/23 22:44:56 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_signal.c,v 1.18 2008/07/30 11:30:55 kib Exp $"); #include "opt_compat.h" @@ -741,6 +741,6 @@ fpstate_drop(td); /* Return via doreti so that we can change to a different %cs */ - pcb->pcb_flags |= PCB_FULLCTX; + pcb->pcb_flags |= PCB_FULLCTX | PCB_32BIT; td->td_retval[1] = 0; } ==== //depot/projects/vimage-devel/src/sys/amd64/include/param.h#3 (text+ko) ==== @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)param.h 8.1 (Berkeley) 6/10/93 - * $FreeBSD: src/sys/amd64/include/param.h,v 1.22 2008/07/19 23:42:38 alc Exp $ + * $FreeBSD: src/sys/amd64/include/param.h,v 1.23 2008/08/01 04:55:38 alc Exp $ */ /* @@ -146,6 +146,7 @@ #define trunc_page(x) ((unsigned long)(x) & ~(PAGE_MASK)) #define trunc_2mpage(x) ((unsigned long)(x) & ~PDRMASK) #define round_2mpage(x) ((((unsigned long)(x)) + PDRMASK) & ~PDRMASK) +#define trunc_1gpage(x) ((unsigned long)(x) & ~PDPMASK) #define atop(x) ((unsigned long)(x) >> PAGE_SHIFT) #define ptoa(x) ((unsigned long)(x) << PAGE_SHIFT) ==== //depot/projects/vimage-devel/src/sys/amd64/include/pcb.h#2 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)pcb.h 5.10 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/amd64/include/pcb.h,v 1.64 2008/03/23 22:45:51 peter Exp $ + * $FreeBSD: src/sys/amd64/include/pcb.h,v 1.65 2008/07/30 11:30:55 kib Exp $ */ #ifndef _AMD64_PCB_H_ @@ -70,6 +70,7 @@ struct savefpu pcb_save; #define PCB_DBREGS 0x02 /* process using debug registers */ #define PCB_FPUINITDONE 0x08 /* fpu state is initialized */ +#define PCB_GS32BIT 0x20 /* linux gs switch */ #define PCB_32BIT 0x40 /* process has 32 bit context (segs etc) */ #define PCB_FULLCTX 0x80 /* full context restore on sysret */ ==== //depot/projects/vimage-devel/src/sys/amd64/include/pmap.h#4 (text+ko) ==== @@ -39,7 +39,7 @@ * * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90 * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.146 2008/07/08 22:59:17 alc Exp $ + * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.147 2008/07/31 22:45:28 alc Exp $ */ #ifndef _MACHINE_PMAP_H_ @@ -75,6 +75,10 @@ #define PG_PROT (PG_RW|PG_U) /* all protection bits . */ #define PG_N (PG_NC_PWT|PG_NC_PCD) /* Non-cacheable */ +/* Page level cache control fields used to determine the PAT type */ +#define PG_PDE_CACHE (PG_PDE_PAT | PG_NC_PWT | PG_NC_PCD) +#define PG_PTE_CACHE (PG_PTE_PAT | PG_NC_PWT | PG_NC_PCD) + /* * Promotion to a 2MB (PDE) page mapping requires that the corresponding 4KB * (PTE) page mappings have identical settings for the following fields: ==== //depot/projects/vimage-devel/src/sys/amd64/linux32/linux32_machdep.c#2 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.46 2008/02/11 19:35:03 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.47 2008/07/30 11:30:55 kib Exp $"); #include #include @@ -696,7 +696,7 @@ td2->td_pcb->pcb_gs32sd = sd; td2->td_pcb->pcb_gs32p = &gdt[GUGS32_SEL]; td2->td_pcb->pcb_gs = GSEL(GUGS32_SEL, SEL_UPL); - td2->td_pcb->pcb_flags |= PCB_32BIT; + td2->td_pcb->pcb_flags |= PCB_GS32BIT | PCB_32BIT; } } ==== //depot/projects/vimage-devel/src/sys/arm/arm/db_interface.c#2 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/db_interface.c,v 1.7 2007/02/26 05:17:47 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/db_interface.c,v 1.8 2008/08/03 01:53:14 cognet Exp $"); #include "opt_ddb.h" #include @@ -294,7 +294,7 @@ u_int branch_taken(u_int insn, db_addr_t pc) { - u_int addr, nregs; + u_int addr, nregs, offset = 0; switch ((insn >> 24) & 0xf) { case 0xa: /* b ... */ @@ -311,6 +311,17 @@ case 0x1: /* mov pc, reg */ addr = db_fetch_reg(insn & 0xf); return (addr); + case 0x5: /* ldr pc, [reg] */ + addr = db_fetch_reg((insn >> 16) & 0xf); + /* ldr pc, [reg, #offset] */ + if (insn & (1 << 24)) + offset = insn & 0xfff; + if (insn & 0x00800000) + addr += offset; + else + addr -= offset; + db_read_bytes(addr, 4, (char *)&addr); + return (addr); case 0x8: /* ldmxx reg, {..., pc} */ case 0x9: addr = db_fetch_reg((insn >> 16) & 0xf); ==== //depot/projects/vimage-devel/src/sys/arm/arm/swtch.S#2 (text+ko) ==== @@ -83,7 +83,7 @@ #include #include #include -__FBSDID("$FreeBSD: src/sys/arm/arm/swtch.S,v 1.22 2008/02/05 10:22:33 raj Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/swtch.S,v 1.23 2008/08/02 00:10:38 cognet Exp $"); /* @@ -257,6 +257,7 @@ strd r10, [r2, #(PCB_R10)] strd r12, [r2, #(PCB_R12)] #endif + str pc, [r2, #(PCB_PC)] /* * NOTE: We can now use r8-r13 until it is time to restore ==== //depot/projects/vimage-devel/src/sys/arm/at91/uart_dev_at91usart.c#2 (text) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/uart_dev_at91usart.c,v 1.14 2008/05/04 23:29:37 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/uart_dev_at91usart.c,v 1.15 2008/08/02 08:01:56 ed Exp $"); #include "opt_comconsole.h" @@ -510,15 +510,18 @@ if (sc->sc_sysdev != NULL && sc->sc_sysdev->type == UART_DEV_CONSOLE) { if ((kdb_brk = kdb_alt_break(key, &sc->sc_altbrk)) != 0) { - case KDB_REQ_DEBUGGER: - kdb_enter(KDB_WHY_BREAK, "Break sequence on console"); - break; - case KDB_REQ_PANIC: - kdb_panic("Panic sequence on console"); - break; - case KDB_REQ_REBOOT: >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Aug 4 05:00:20 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7291E106568C; Mon, 4 Aug 2008 05:00:20 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 357DA1065687 for ; Mon, 4 Aug 2008 05:00:20 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 20EBE8FC08 for ; Mon, 4 Aug 2008 05:00:20 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m7450Jxc082725 for ; Mon, 4 Aug 2008 05:00:19 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m7450J4a082723 for perforce@freebsd.org; Mon, 4 Aug 2008 05:00:19 GMT (envelope-from julian@freebsd.org) Date: Mon, 4 Aug 2008 05:00:19 GMT Message-Id: <200808040500.m7450J4a082723@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Cc: Subject: PERFORCE change 146593 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, 04 Aug 2008 05:00:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=146593 Change 146593 by julian@julian_trafmon1 on 2008/08/04 04:59:21 IFC@146500 more to come Affected files ... .. //depot/projects/vimage-commit2/src/sys/amd64/amd64/cpu_switch.S#2 integrate .. //depot/projects/vimage-commit2/src/sys/amd64/amd64/genassym.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/amd64/amd64/pmap.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/amd64/conf/GENERIC#4 integrate .. //depot/projects/vimage-commit2/src/sys/amd64/ia32/ia32_signal.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/amd64/include/param.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/amd64/include/pcb.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/amd64/include/pmap.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/amd64/linux32/linux32_machdep.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/arm/arm/db_interface.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/arm/arm/swtch.S#2 integrate .. //depot/projects/vimage-commit2/src/sys/arm/at91/uart_dev_at91usart.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/arm/conf/AVILA#2 integrate .. //depot/projects/vimage-commit2/src/sys/arm/include/db_machdep.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/bsm/audit.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/bsm/audit_internal.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/bsm/audit_kevents.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/bsm/audit_record.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/cam/cam_xpt.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/compat/linux/linux_ioctl.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/compat/linux/linux_ioctl.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/compat/linux/linux_misc.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/compat/ndis/kern_ndis.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/conf/NOTES#5 integrate .. //depot/projects/vimage-commit2/src/sys/conf/files#7 integrate .. //depot/projects/vimage-commit2/src/sys/contrib/ipfilter/netinet/ip_compat.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/contrib/ipfilter/netinet/ip_fil.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/contrib/ipfilter/netinet/ip_nat.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/contrib/ipfilter/netinet/ip_nat.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/contrib/ipfilter/netinet/ip_state.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/contrib/pf/net/pf_ioctl.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/ddb/db_run.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/acpica/acpi.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/agp/agp_i810.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/atkbdc/psm.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/bfe/if_bfe.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/bfe/if_bfereg.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ciss/ciss.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ciss/cissreg.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/tom/cxgb_ddp.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/tom/cxgb_l2t.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/tom/cxgb_listen.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/tom/cxgb_tcp_offload.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/tom/cxgb_tcp_offload.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/tom/cxgb_tom.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/tom/cxgb_tom_sysctl.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/e1000/LICENSE#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/e1000/README#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_80003es2lan.c#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_80003es2lan.h#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_82540.c#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_82541.c#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_82541.h#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_82542.c#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_82543.c#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_82543.h#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_82571.c#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_82571.h#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_82575.c#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_82575.h#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_api.c#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_api.h#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_defines.h#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_hw.h#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_ich8lan.c#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_ich8lan.h#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_mac.c#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_mac.h#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_manage.c#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_manage.h#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_nvm.c#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_nvm.h#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_osdep.c#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_osdep.h#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_phy.c#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_phy.h#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_regs.h#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/e1000/if_em.c#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/e1000/if_em.h#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/e1000/if_igb.c#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/e1000/if_igb.h#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/em/LICENSE#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/em/README#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/em/e1000_80003es2lan.c#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/em/e1000_80003es2lan.h#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/em/e1000_82540.c#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/em/e1000_82541.c#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/em/e1000_82541.h#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/em/e1000_82542.c#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/em/e1000_82543.c#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/em/e1000_82543.h#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/em/e1000_82571.c#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/em/e1000_82571.h#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/em/e1000_api.c#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/em/e1000_api.h#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/em/e1000_defines.h#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/em/e1000_hw.h#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/em/e1000_ich8lan.c#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/em/e1000_ich8lan.h#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/em/e1000_mac.c#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/em/e1000_mac.h#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/em/e1000_manage.c#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/em/e1000_manage.h#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/em/e1000_nvm.c#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/em/e1000_nvm.h#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/em/e1000_osdep.c#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/em/e1000_osdep.h#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/em/e1000_phy.c#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/em/e1000_phy.h#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/em/e1000_regs.h#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/em/if_em.c#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/em/if_em.h#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/hwpmc/hwpmc_mod.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ie/if_ie.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ie/if_ie_isa.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ie/if_ievar.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/igb/e1000_82575.c#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/igb/e1000_82575.h#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/igb/e1000_api.c#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/igb/e1000_api.h#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/igb/e1000_defines.h#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/igb/e1000_hw.h#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/igb/e1000_mac.c#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/igb/e1000_mac.h#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/igb/e1000_manage.c#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/igb/e1000_manage.h#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/igb/e1000_nvm.c#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/igb/e1000_nvm.h#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/igb/e1000_osdep.c#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/igb/e1000_osdep.h#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/igb/e1000_phy.c#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/igb/e1000_phy.h#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/igb/e1000_regs.h#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/igb/if_igb.c#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/igb/if_igb.h#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/iicbus/ds1339.c#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/ixgbe/ixgbe.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ixgbe/ixgbe.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ixgbe/ixgbe_82598.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ixgbe/ixgbe_api.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ixgbe/ixgbe_api.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ixgbe/ixgbe_common.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ixgbe/ixgbe_common.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ixgbe/ixgbe_phy.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ixgbe/ixgbe_phy.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ixgbe/ixgbe_type.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/jme/if_jme.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/kbd/kbd.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/kbdmux/kbdmux.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/nvram/nvram.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/pccard/pccarddevs#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/pci/pci.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/pci/pci_pci.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/pci/pcivar.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/ehci_pci.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/ehcireg.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/if_rum.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/if_ural.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/ugen.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/uhid.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/uipaq.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usbdevs#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/wi/if_wi.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/wi/if_wi_pccard.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/wi/if_wi_pci.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/wi/if_wireg.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/wi/if_wivar.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/i386/conf/GENERIC#4 integrate .. //depot/projects/vimage-commit2/src/sys/i386/i386/mp_machdep.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/i386/i386/pmap.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/i386/include/profile.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_exec.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_lock.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_proc.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_timeout.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/kern/sched_4bsd.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/kern/subr_clist.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/kern/subr_lock.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/kern/subr_sleepqueue.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/kern/tty.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/kern/tty_info.c#1 branch .. //depot/projects/vimage-commit2/src/sys/kern/uipc_usrreq.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/kern/vfs_cache.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/kern/vfs_subr.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/libkern/arc4random.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/modules/em/Makefile#2 integrate .. //depot/projects/vimage-commit2/src/sys/modules/et/Makefile#2 integrate .. //depot/projects/vimage-commit2/src/sys/modules/igb/Makefile#2 integrate .. //depot/projects/vimage-commit2/src/sys/modules/mem/Makefile#3 integrate .. //depot/projects/vimage-commit2/src/sys/modules/netgraph/bluetooth/socket/Makefile#2 integrate .. //depot/projects/vimage-commit2/src/sys/modules/nfslockd/Makefile#3 integrate .. //depot/projects/vimage-commit2/src/sys/net/bpf.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/net/bpf_buffer.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/net/bpfdesc.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/net/if.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/net/if_loop.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/net/if_media.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/net/route.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_dfs.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_freebsd.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_hostap.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_ht.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_input.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/netgraph/bluetooth/include/ng_btsocket_sco.h#1 branch .. //depot/projects/vimage-commit2/src/sys/netgraph/bluetooth/socket/ng_btsocket.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/netgraph/bluetooth/socket/ng_btsocket_sco.c#1 branch .. //depot/projects/vimage-commit2/src/sys/netgraph/ng_l2tp.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/ip_divert.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/ip_fw2.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/raw_ip.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/sctp.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/sctp_asconf.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/sctp_bsd_addr.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/sctp_constants.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/sctp_input.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/sctp_output.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/sctp_pcb.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/sctp_pcb.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/sctp_timer.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/sctp_usrreq.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/sctp_var.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/sctputil.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/tcp_input.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/tcp_output.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/tcp_syncache.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/tcp_usrreq.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/tcp_var.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/udp_usrreq.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/icmp6.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/ip6_output.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/raw_ip6.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/netipsec/ipsec.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/netipx/ipx_input.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/netipx/ipx_usrreq.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/nfsclient/nfs_vfsops.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/pci/if_sis.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/rpc/auth_unix.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/security/audit/audit.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/security/audit/audit.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/security/audit/audit_arg.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/security/audit/audit_bsm_klib.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/security/audit/audit_bsm_token.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/security/audit/audit_pipe.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/security/audit/audit_private.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/security/audit/audit_syscalls.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/security/audit/audit_worker.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/security/mac_biba/mac_biba.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/security/mac_bsdextended/mac_bsdextended.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/security/mac_lomac/mac_lomac.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/security/mac_mls/mac_mls.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/security/mac_partition/mac_partition.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/sys/callout.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/sys/elf_common.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/sys/proc.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/sys/procfs.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/sys/refcount.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/sys/sockbuf.h#1 branch .. //depot/projects/vimage-commit2/src/sys/sys/socketvar.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/sys/sockio.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/sys/sockopt.h#1 branch .. //depot/projects/vimage-commit2/src/sys/sys/sockstate.h#1 branch .. //depot/projects/vimage-commit2/src/sys/sys/vnode.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/ufs/ffs/ffs_balloc.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/ufs/ufs/ufs_lookup.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/vm/swap_pager.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/vm/vm_object.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/vm/vnode_pager.c#3 integrate Differences ... ==== //depot/projects/vimage-commit2/src/sys/amd64/amd64/cpu_switch.S#2 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.161 2008/03/23 23:09:06 peter Exp $ + * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.162 2008/07/30 11:30:55 kib Exp $ */ #include @@ -113,8 +113,8 @@ movq PCB_GSBASE(%r8),%r10 testl $PCB_32BIT,PCB_FLAGS(%r8) - jnz store_gs /* static predict not taken */ -done_store_gs: + jnz store_seg +done_store_seg: testl $PCB_DBREGS,PCB_FLAGS(%r8) jnz store_dr /* static predict not taken */ @@ -176,6 +176,10 @@ testl $TDP_KTHREAD,TD_PFLAGS(%rsi) jnz do_kthread + testl $PCB_32BIT,PCB_FLAGS(%r8) + jnz load_seg +done_load_seg: + cmpq PCB_FSBASE(%r8),%r9 jz 1f /* Restore userland %fs */ @@ -184,7 +188,6 @@ movl PCB_FSBASE+4(%r8),%edx wrmsr 1: - cmpq PCB_GSBASE(%r8),%r10 jz 2f /* Restore userland %gs */ @@ -193,8 +196,8 @@ movl PCB_GSBASE+4(%r8),%edx wrmsr 2: + do_tss: - /* Update the TSS_RSP0 pointer for the next interrupt */ movq PCPU(TSSP), %rax movq %r8, PCPU(RSP0) @@ -208,10 +211,6 @@ jnz load_dr /* static predict not taken */ done_load_dr: - testl $PCB_32BIT,PCB_FLAGS(%r8) - jnz load_gs /* static predict not taken */ -done_load_gs: - /* Restore context. */ movq PCB_R15(%r8),%r15 movq PCB_R14(%r8),%r14 @@ -243,23 +242,35 @@ movq %r10,PCB_GSBASE(%r8) jmp do_tss -store_gs: +store_seg: movl %gs,PCB_GS(%r8) - movq PCB_GS32P(%r8),%rax + testl $PCB_GS32BIT,PCB_FLAGS(%r8) + jnz 2f +1: movl %ds,PCB_DS(%r8) + movl %es,PCB_ES(%r8) + movl %fs,PCB_FS(%r8) + jmp done_store_seg +2: movq PCB_GS32P(%r8),%rax movq (%rax),%rax movq %rax,PCB_GS32SD(%r8) - jmp done_store_gs + jmp 1b -load_gs: +load_seg: + testl $PCB_GS32BIT,PCB_FLAGS(%r8) + jnz 2f +1: movl $MSR_GSBASE,%ecx + rdmsr + movl PCB_GS(%r8),%gs + wrmsr + movl PCB_DS(%r8),%ds + movl PCB_ES(%r8),%es + movl PCB_FS(%r8),%fs + jmp done_load_seg /* Restore userland %gs while preserving kernel gsbase */ - movq PCB_GS32P(%r8),%rax +2: movq PCB_GS32P(%r8),%rax movq PCB_GS32SD(%r8),%rcx movq %rcx,(%rax) - movl $MSR_GSBASE,%ecx - rdmsr - movl PCB_GS(%r8),%gs - wrmsr - jmp done_load_gs + jmp 1b store_dr: movq %dr7,%rax /* yes, do the save */ ==== //depot/projects/vimage-commit2/src/sys/amd64/amd64/genassym.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.168 2008/05/16 13:23:47 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.169 2008/07/30 11:30:55 kib Exp $"); #include "opt_compat.h" #include "opt_kstack_pages.h" @@ -140,6 +140,7 @@ ASSYM(PCB_DR7, offsetof(struct pcb, pcb_dr7)); ASSYM(PCB_DBREGS, PCB_DBREGS); ASSYM(PCB_32BIT, PCB_32BIT); +ASSYM(PCB_GS32BIT, PCB_GS32BIT); ASSYM(PCB_FULLCTX, PCB_FULLCTX); ASSYM(PCB_FLAGS, offsetof(struct pcb, pcb_flags)); ==== //depot/projects/vimage-commit2/src/sys/amd64/amd64/pmap.c#7 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.634 2008/07/18 22:05:51 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.642 2008/08/02 03:43:54 alc Exp $"); /* * Manages physical address maps. @@ -222,6 +222,8 @@ static int pmap_pvh_wired_mappings(struct md_page *pvh, int count); static boolean_t pmap_demote_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t va); +static boolean_t pmap_demote_pdpe(pmap_t pmap, pdp_entry_t *pdpe, + vm_offset_t va); static boolean_t pmap_enter_pde(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot); static vm_page_t pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, @@ -230,9 +232,11 @@ static void pmap_insert_pt_page(pmap_t pmap, vm_page_t mpte); static boolean_t pmap_is_modified_pvh(struct md_page *pvh); static vm_page_t pmap_lookup_pt_page(pmap_t pmap, vm_offset_t va); +static void pmap_pde_attr(pd_entry_t *pde, int cache_bits); static void pmap_promote_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t va); static boolean_t pmap_protect_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t sva, vm_prot_t prot); +static void pmap_pte_attr(pt_entry_t *pte, int cache_bits); static int pmap_remove_pde(pmap_t pmap, pd_entry_t *pdq, vm_offset_t sva, vm_page_t *free); static int pmap_remove_pte(pmap_t pmap, pt_entry_t *ptq, @@ -739,6 +743,13 @@ SYSCTL_ULONG(_vm_pmap_pde, OID_AUTO, promotions, CTLFLAG_RD, &pmap_pde_promotions, 0, "2MB page promotions"); +SYSCTL_NODE(_vm_pmap, OID_AUTO, pdpe, CTLFLAG_RD, 0, + "1GB page mapping counters"); + +static u_long pmap_pdpe_demotions; +SYSCTL_ULONG(_vm_pmap_pdpe, OID_AUTO, demotions, CTLFLAG_RD, + &pmap_pdpe_demotions, 0, "1GB page demotions"); + /*************************************************** * Low level helper routines..... @@ -3350,9 +3361,8 @@ * are taken, but the code works. */ void -pmap_object_init_pt(pmap_t pmap, vm_offset_t addr, - vm_object_t object, vm_pindex_t pindex, - vm_size_t size) +pmap_object_init_pt(pmap_t pmap, vm_offset_t addr, vm_object_t object, + vm_pindex_t pindex, vm_size_t size) { vm_offset_t va; vm_page_t p, pdpg; @@ -3500,7 +3510,7 @@ void pmap_copy(pmap_t dst_pmap, pmap_t src_pmap, vm_offset_t dst_addr, vm_size_t len, - vm_offset_t src_addr) + vm_offset_t src_addr) { vm_page_t free; vm_offset_t addr; @@ -4251,41 +4261,35 @@ /* Adjust the cache mode for a 4KB page mapped via a PTE. */ static __inline void -pmap_pte_attr(vm_offset_t va, int mode) +pmap_pte_attr(pt_entry_t *pte, int cache_bits) { - pt_entry_t *pte; u_int opte, npte; - pte = vtopte(va); - /* * The cache mode bits are all in the low 32-bits of the * PTE, so we can just spin on updating the low 32-bits. */ do { opte = *(u_int *)pte; - npte = opte & ~(PG_PTE_PAT | PG_NC_PCD | PG_NC_PWT); - npte |= pmap_cache_bits(mode, 0); + npte = opte & ~PG_PTE_CACHE; + npte |= cache_bits; } while (npte != opte && !atomic_cmpset_int((u_int *)pte, opte, npte)); } /* Adjust the cache mode for a 2MB page mapped via a PDE. */ static __inline void -pmap_pde_attr(vm_offset_t va, int mode) +pmap_pde_attr(pd_entry_t *pde, int cache_bits) { - pd_entry_t *pde; u_int opde, npde; - pde = pmap_pde(kernel_pmap, va); - /* * The cache mode bits are all in the low 32-bits of the * PDE, so we can just spin on updating the low 32-bits. */ do { opde = *(u_int *)pde; - npde = opde & ~(PG_PDE_PAT | PG_NC_PCD | PG_NC_PWT); - npde |= pmap_cache_bits(mode, 1); + npde = opde & ~PG_PDE_CACHE; + npde |= cache_bits; } while (npde != opde && !atomic_cmpset_int((u_int *)pde, opde, npde)); } @@ -4301,11 +4305,14 @@ vm_offset_t va, tmpva, offset; /* - * If this fits within the direct map window and use WB caching - * mode, use the direct map. + * If the specified range of physical addresses fits within the direct + * map window, use the direct map. */ - if (pa < dmaplimit && (pa + size) < dmaplimit && mode == PAT_WRITE_BACK) - return ((void *)PHYS_TO_DMAP(pa)); + if (pa < dmaplimit && pa + size < dmaplimit) { + va = PHYS_TO_DMAP(pa); + if (!pmap_change_attr(va, size, mode)) + return ((void *)va); + } offset = pa & PAGE_MASK; size = roundup(offset + size, PAGE_SIZE); va = kmem_alloc_nofault(kernel_map, size); @@ -4354,70 +4361,213 @@ kmem_free(kernel_map, base, size); } +/* + * Tries to demote a 1GB page mapping. + */ +static boolean_t +pmap_demote_pdpe(pmap_t pmap, pdp_entry_t *pdpe, vm_offset_t va) +{ + pdp_entry_t newpdpe, oldpdpe; + pd_entry_t *firstpde, newpde, *pde; + vm_paddr_t mpdepa; + vm_page_t mpde; + + PMAP_LOCK_ASSERT(pmap, MA_OWNED); + oldpdpe = *pdpe; + KASSERT((oldpdpe & (PG_PS | PG_V)) == (PG_PS | PG_V), + ("pmap_demote_pdpe: oldpdpe is missing PG_PS and/or PG_V")); + if ((mpde = vm_page_alloc(NULL, va >> PDPSHIFT, VM_ALLOC_INTERRUPT | + VM_ALLOC_NOOBJ | VM_ALLOC_WIRED)) == NULL) { + CTR2(KTR_PMAP, "pmap_demote_pdpe: failure for va %#lx" + " in pmap %p", va, pmap); + return (FALSE); + } + mpdepa = VM_PAGE_TO_PHYS(mpde); + firstpde = (pd_entry_t *)PHYS_TO_DMAP(mpdepa); + newpdpe = mpdepa | PG_M | PG_A | (oldpdpe & PG_U) | PG_RW | PG_V; + KASSERT((oldpdpe & PG_A) != 0, + ("pmap_demote_pdpe: oldpdpe is missing PG_A")); + KASSERT((oldpdpe & (PG_M | PG_RW)) != PG_RW, + ("pmap_demote_pdpe: oldpdpe is missing PG_M")); + newpde = oldpdpe; + + /* + * Initialize the page directory page. + */ + for (pde = firstpde; pde < firstpde + NPDEPG; pde++) { + *pde = newpde; + newpde += NBPDR; + } + + /* + * Demote the mapping. + */ + *pdpe = newpdpe; + + /* + * Invalidate a stale recursive mapping of the page directory page. + */ + pmap_invalidate_page(pmap, (vm_offset_t)vtopde(va)); + + pmap_pdpe_demotions++; + CTR2(KTR_PMAP, "pmap_demote_pdpe: success for va %#lx" + " in pmap %p", va, pmap); + return (TRUE); +} + int -pmap_change_attr(va, size, mode) - vm_offset_t va; - vm_size_t size; - int mode; +pmap_change_attr(vm_offset_t va, vm_size_t size, int mode) { vm_offset_t base, offset, tmpva; + pdp_entry_t *pdpe; pd_entry_t *pde; pt_entry_t *pte; + int cache_bits_pte, cache_bits_pde; + boolean_t changed; base = trunc_page(va); offset = va & PAGE_MASK; size = roundup(offset + size, PAGE_SIZE); - /* Only supported on kernel virtual addresses. */ - if (base <= VM_MAXUSER_ADDRESS) + /* + * Only supported on kernel virtual addresses, including the direct + * map but excluding the recursive map. + */ + if (base < DMAP_MIN_ADDRESS) return (EINVAL); + cache_bits_pde = cache_bits_pte = -1; + changed = FALSE; + /* - * XXX: We have to support tearing 2MB pages down into 4k pages if - * needed here. + * Pages that aren't mapped aren't supported. Also break down 2MB pages + * into 4KB pages if required. */ - /* Pages that aren't mapped aren't supported. */ - for (tmpva = base; tmpva < (base + size); ) { - pde = pmap_pde(kernel_pmap, tmpva); - if (*pde == 0) + PMAP_LOCK(kernel_pmap); + for (tmpva = base; tmpva < base + size; ) { + pdpe = pmap_pdpe(kernel_pmap, tmpva); + if (*pdpe == 0) { + PMAP_UNLOCK(kernel_pmap); + return (EINVAL); + } + if (*pdpe & PG_PS) { + /* + * If the current 1GB page already has the required + * memory type, then we need not demote this page. Just + * increment tmpva to the next 1GB page frame. + */ + if (cache_bits_pde < 0) + cache_bits_pde = pmap_cache_bits(mode, 1); + if ((*pdpe & PG_PDE_CACHE) == cache_bits_pde) { + tmpva = trunc_1gpage(tmpva) + NBPDP; + continue; + } + + /* + * If the current offset aligns with a 1GB page frame + * and there is at least 1GB left within the range, then + * we need not break down this page into 2MB pages. + */ + if ((tmpva & PDPMASK) == 0 && + tmpva + PDPMASK < base + size) { + tmpva += NBPDP; + continue; + } + if (!pmap_demote_pdpe(kernel_pmap, pdpe, tmpva)) { + PMAP_UNLOCK(kernel_pmap); + return (ENOMEM); + } + } + pde = pmap_pdpe_to_pde(pdpe, tmpva); + if (*pde == 0) { + PMAP_UNLOCK(kernel_pmap); return (EINVAL); + } if (*pde & PG_PS) { - /* Handle 2MB pages that are completely contained. */ - if (size >= NBPDR) { + /* + * If the current 2MB page already has the required + * memory type, then we need not demote this page. Just + * increment tmpva to the next 2MB page frame. + */ + if (cache_bits_pde < 0) + cache_bits_pde = pmap_cache_bits(mode, 1); + if ((*pde & PG_PDE_CACHE) == cache_bits_pde) { + tmpva = trunc_2mpage(tmpva) + NBPDR; + continue; + } + + /* + * If the current offset aligns with a 2MB page frame + * and there is at least 2MB left within the range, then + * we need not break down this page into 4KB pages. + */ + if ((tmpva & PDRMASK) == 0 && + tmpva + PDRMASK < base + size) { tmpva += NBPDR; continue; } - return (EINVAL); + if (!pmap_demote_pde(kernel_pmap, pde, tmpva)) { + PMAP_UNLOCK(kernel_pmap); + return (ENOMEM); + } } pte = vtopte(tmpva); - if (*pte == 0) + if (*pte == 0) { + PMAP_UNLOCK(kernel_pmap); return (EINVAL); + } tmpva += PAGE_SIZE; } + PMAP_UNLOCK(kernel_pmap); /* * Ok, all the pages exist, so run through them updating their - * cache mode. + * cache mode if required. */ - for (tmpva = base; size > 0; ) { - pde = pmap_pde(kernel_pmap, tmpva); + for (tmpva = base; tmpva < base + size; ) { + pdpe = pmap_pdpe(kernel_pmap, tmpva); + if (*pdpe & PG_PS) { + if (cache_bits_pde < 0) + cache_bits_pde = pmap_cache_bits(mode, 1); + if ((*pdpe & PG_PDE_CACHE) != cache_bits_pde) { + pmap_pde_attr(pdpe, cache_bits_pde); + if (!changed) + changed = TRUE; + } + tmpva = trunc_1gpage(tmpva) + NBPDP; + continue; + } + pde = pmap_pdpe_to_pde(pdpe, tmpva); if (*pde & PG_PS) { - pmap_pde_attr(tmpva, mode); - tmpva += NBPDR; - size -= NBPDR; + if (cache_bits_pde < 0) + cache_bits_pde = pmap_cache_bits(mode, 1); + if ((*pde & PG_PDE_CACHE) != cache_bits_pde) { + pmap_pde_attr(pde, cache_bits_pde); + if (!changed) + changed = TRUE; + } + tmpva = trunc_2mpage(tmpva) + NBPDR; } else { - pmap_pte_attr(tmpva, mode); + if (cache_bits_pte < 0) + cache_bits_pte = pmap_cache_bits(mode, 0); + pte = vtopte(tmpva); + if ((*pte & PG_PTE_CACHE) != cache_bits_pte) { + pmap_pte_attr(pte, cache_bits_pte); + if (!changed) + changed = TRUE; + } tmpva += PAGE_SIZE; - size -= PAGE_SIZE; } } /* - * Flush CPU caches to make sure any data isn't cached that shouldn't - * be, etc. - */ - pmap_invalidate_range(kernel_pmap, base, tmpva); - pmap_invalidate_cache(); + * Flush CPU caches if required to make sure any data isn't cached that + * shouldn't be, etc. + */ + if (changed) { + pmap_invalidate_range(kernel_pmap, base, tmpva); + pmap_invalidate_cache(); + } return (0); } ==== //depot/projects/vimage-commit2/src/sys/amd64/conf/GENERIC#4 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.504 2008/07/13 07:20:14 ed Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.505 2008/07/30 22:27:38 jfv Exp $ cpu HAMMER ident GENERIC @@ -189,7 +189,8 @@ # PCI Ethernet NICs. device de # DEC/Intel DC21x4x (``Tulip'') -device em # Intel PRO/1000 adapter Gigabit Ethernet Card +device em # Intel PRO/1000 Gigabit Ethernet Family +device igb # Intel PRO/1000 PCIE Server Gigabit Family device ixgb # Intel PRO/10GbE Ethernet Card device le # AMD Am7900 LANCE and Am79C9xx PCnet device ti # Alteon Networks Tigon I/II gigabit Ethernet ==== //depot/projects/vimage-commit2/src/sys/amd64/ia32/ia32_signal.c#2 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_signal.c,v 1.17 2008/03/23 22:44:56 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_signal.c,v 1.18 2008/07/30 11:30:55 kib Exp $"); #include "opt_compat.h" @@ -741,6 +741,6 @@ fpstate_drop(td); /* Return via doreti so that we can change to a different %cs */ - pcb->pcb_flags |= PCB_FULLCTX; + pcb->pcb_flags |= PCB_FULLCTX | PCB_32BIT; td->td_retval[1] = 0; } ==== //depot/projects/vimage-commit2/src/sys/amd64/include/param.h#3 (text+ko) ==== @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)param.h 8.1 (Berkeley) 6/10/93 - * $FreeBSD: src/sys/amd64/include/param.h,v 1.22 2008/07/19 23:42:38 alc Exp $ + * $FreeBSD: src/sys/amd64/include/param.h,v 1.23 2008/08/01 04:55:38 alc Exp $ */ /* @@ -146,6 +146,7 @@ #define trunc_page(x) ((unsigned long)(x) & ~(PAGE_MASK)) #define trunc_2mpage(x) ((unsigned long)(x) & ~PDRMASK) #define round_2mpage(x) ((((unsigned long)(x)) + PDRMASK) & ~PDRMASK) +#define trunc_1gpage(x) ((unsigned long)(x) & ~PDPMASK) #define atop(x) ((unsigned long)(x) >> PAGE_SHIFT) #define ptoa(x) ((unsigned long)(x) << PAGE_SHIFT) ==== //depot/projects/vimage-commit2/src/sys/amd64/include/pcb.h#2 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)pcb.h 5.10 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/amd64/include/pcb.h,v 1.64 2008/03/23 22:45:51 peter Exp $ + * $FreeBSD: src/sys/amd64/include/pcb.h,v 1.65 2008/07/30 11:30:55 kib Exp $ */ #ifndef _AMD64_PCB_H_ @@ -70,6 +70,7 @@ struct savefpu pcb_save; #define PCB_DBREGS 0x02 /* process using debug registers */ #define PCB_FPUINITDONE 0x08 /* fpu state is initialized */ +#define PCB_GS32BIT 0x20 /* linux gs switch */ #define PCB_32BIT 0x40 /* process has 32 bit context (segs etc) */ #define PCB_FULLCTX 0x80 /* full context restore on sysret */ ==== //depot/projects/vimage-commit2/src/sys/amd64/include/pmap.h#5 (text+ko) ==== @@ -39,7 +39,7 @@ * * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90 * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.146 2008/07/08 22:59:17 alc Exp $ + * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.147 2008/07/31 22:45:28 alc Exp $ */ #ifndef _MACHINE_PMAP_H_ @@ -75,6 +75,10 @@ #define PG_PROT (PG_RW|PG_U) /* all protection bits . */ #define PG_N (PG_NC_PWT|PG_NC_PCD) /* Non-cacheable */ +/* Page level cache control fields used to determine the PAT type */ +#define PG_PDE_CACHE (PG_PDE_PAT | PG_NC_PWT | PG_NC_PCD) +#define PG_PTE_CACHE (PG_PTE_PAT | PG_NC_PWT | PG_NC_PCD) + /* * Promotion to a 2MB (PDE) page mapping requires that the corresponding 4KB * (PTE) page mappings have identical settings for the following fields: ==== //depot/projects/vimage-commit2/src/sys/amd64/linux32/linux32_machdep.c#2 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.46 2008/02/11 19:35:03 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.47 2008/07/30 11:30:55 kib Exp $"); #include #include @@ -696,7 +696,7 @@ td2->td_pcb->pcb_gs32sd = sd; td2->td_pcb->pcb_gs32p = &gdt[GUGS32_SEL]; td2->td_pcb->pcb_gs = GSEL(GUGS32_SEL, SEL_UPL); - td2->td_pcb->pcb_flags |= PCB_32BIT; + td2->td_pcb->pcb_flags |= PCB_GS32BIT | PCB_32BIT; } } ==== //depot/projects/vimage-commit2/src/sys/arm/arm/db_interface.c#2 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/db_interface.c,v 1.7 2007/02/26 05:17:47 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/db_interface.c,v 1.8 2008/08/03 01:53:14 cognet Exp $"); #include "opt_ddb.h" #include @@ -294,7 +294,7 @@ u_int branch_taken(u_int insn, db_addr_t pc) { - u_int addr, nregs; + u_int addr, nregs, offset = 0; switch ((insn >> 24) & 0xf) { case 0xa: /* b ... */ @@ -311,6 +311,17 @@ case 0x1: /* mov pc, reg */ addr = db_fetch_reg(insn & 0xf); return (addr); + case 0x5: /* ldr pc, [reg] */ + addr = db_fetch_reg((insn >> 16) & 0xf); + /* ldr pc, [reg, #offset] */ + if (insn & (1 << 24)) + offset = insn & 0xfff; + if (insn & 0x00800000) + addr += offset; + else + addr -= offset; + db_read_bytes(addr, 4, (char *)&addr); + return (addr); case 0x8: /* ldmxx reg, {..., pc} */ case 0x9: addr = db_fetch_reg((insn >> 16) & 0xf); ==== //depot/projects/vimage-commit2/src/sys/arm/arm/swtch.S#2 (text+ko) ==== @@ -83,7 +83,7 @@ #include #include #include -__FBSDID("$FreeBSD: src/sys/arm/arm/swtch.S,v 1.22 2008/02/05 10:22:33 raj Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/swtch.S,v 1.23 2008/08/02 00:10:38 cognet Exp $"); /* @@ -257,6 +257,7 @@ strd r10, [r2, #(PCB_R10)] strd r12, [r2, #(PCB_R12)] #endif + str pc, [r2, #(PCB_PC)] /* * NOTE: We can now use r8-r13 until it is time to restore ==== //depot/projects/vimage-commit2/src/sys/arm/at91/uart_dev_at91usart.c#2 (text) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/uart_dev_at91usart.c,v 1.14 2008/05/04 23:29:37 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/uart_dev_at91usart.c,v 1.15 2008/08/02 08:01:56 ed Exp $"); #include "opt_comconsole.h" @@ -510,15 +510,18 @@ if (sc->sc_sysdev != NULL && sc->sc_sysdev->type == UART_DEV_CONSOLE) { if ((kdb_brk = kdb_alt_break(key, &sc->sc_altbrk)) != 0) { - case KDB_REQ_DEBUGGER: - kdb_enter(KDB_WHY_BREAK, "Break sequence on console"); - break; - case KDB_REQ_PANIC: - kdb_panic("Panic sequence on console"); - break; - case KDB_REQ_REBOOT: - kdb_reboot(); - break; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Aug 4 05:06:26 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B903E106567F; Mon, 4 Aug 2008 05:06:26 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7D4871065676 for ; Mon, 4 Aug 2008 05:06:26 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6ADE98FC1E for ; Mon, 4 Aug 2008 05:06:26 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m7456QMW084336 for ; Mon, 4 Aug 2008 05:06:26 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m7456QDt084334 for perforce@freebsd.org; Mon, 4 Aug 2008 05:06:26 GMT (envelope-from julian@freebsd.org) Date: Mon, 4 Aug 2008 05:06:26 GMT Message-Id: <200808040506.m7456QDt084334@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Cc: Subject: PERFORCE change 146594 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, 04 Aug 2008 05:06:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=146594 Change 146594 by julian@julian_trafmon1 on 2008/08/04 05:06:03 cope with new globals from ecn Affected files ... .. //depot/projects/vimage-commit2/src/sys/netinet/tcp_input.c#5 edit .. //depot/projects/vimage-commit2/src/sys/netinet/tcp_output.c#6 edit .. //depot/projects/vimage-commit2/src/sys/netinet/tcp_syncache.c#7 edit .. //depot/projects/vimage-commit2/src/sys/sys/vimage.h#4 edit Differences ... ==== //depot/projects/vimage-commit2/src/sys/netinet/tcp_input.c#5 (text+ko) ==== @@ -1369,7 +1369,7 @@ else tp->t_flags |= TF_ACKNOW; - if ((thflags & TH_ECE) && tcp_do_ecn) { + if ((thflags & TH_ECE) && V_tcp_do_ecn) { tp->t_flags |= TF_ECN_PERMIT; tcpstat.tcps_ecn_shs++; } ==== //depot/projects/vimage-commit2/src/sys/netinet/tcp_output.c#6 (text+ko) ==== @@ -884,9 +884,9 @@ * resend those bits a number of times as per * RFC 3168. */ - if (tp->t_state == TCPS_SYN_SENT && tcp_do_ecn) { + if (tp->t_state == TCPS_SYN_SENT && V_tcp_do_ecn) { if (tp->t_rxtshift >= 1) { - if (tp->t_rxtshift <= tcp_ecn_maxretries) + if (tp->t_rxtshift <= V_tcp_ecn_maxretries) flags |= TH_ECE|TH_CWR; } else flags |= TH_ECE|TH_CWR; ==== //depot/projects/vimage-commit2/src/sys/netinet/tcp_syncache.c#7 (text+ko) ==== @@ -1237,7 +1237,7 @@ sc->sc_peer_mss = to->to_mss; /* peer mss may be zero */ if (noopt) sc->sc_flags |= SCF_NOOPT; - if ((th->th_flags & (TH_ECE|TH_CWR)) && tcp_do_ecn) + if ((th->th_flags & (TH_ECE|TH_CWR)) && V_tcp_do_ecn) sc->sc_flags |= SCF_ECN; if (tcp_syncookies) { ==== //depot/projects/vimage-commit2/src/sys/sys/vimage.h#4 (text+ko) ==== @@ -270,6 +270,7 @@ #define V_tcp_delack_enabled tcp_delack_enabled #define V_tcp_do_autorcvbuf tcp_do_autorcvbuf #define V_tcp_do_autosndbuf tcp_do_autosndbuf +#define V_tcp_do_ecn tcp_do_ecn #define V_tcp_do_newreno tcp_do_newreno #define V_tcp_do_rfc1323 tcp_do_rfc1323 #define V_tcp_do_rfc3042 tcp_do_rfc3042 @@ -277,6 +278,7 @@ #define V_tcp_do_sack tcp_do_sack #define V_tcp_do_tso tcp_do_tso #define V_tcp_hc_callout tcp_hc_callout +#define V_tcp_ecn_maxretries tcp_ecn_maxretries #define V_tcp_hostcache tcp_hostcache #define V_tcp_inflight_enable tcp_inflight_enable #define V_tcp_inflight_max tcp_inflight_max From owner-p4-projects@FreeBSD.ORG Mon Aug 4 05:45:07 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6B4CE1065679; Mon, 4 Aug 2008 05:45:07 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2DE871065676 for ; Mon, 4 Aug 2008 05:45:07 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 19CAD8FC31 for ; Mon, 4 Aug 2008 05:45:07 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m745j6UV087533 for ; Mon, 4 Aug 2008 05:45:06 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m745j64T087531 for perforce@freebsd.org; Mon, 4 Aug 2008 05:45:06 GMT (envelope-from julian@freebsd.org) Date: Mon, 4 Aug 2008 05:45:06 GMT Message-Id: <200808040545.m745j64T087531@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Cc: Subject: PERFORCE change 146600 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, 04 Aug 2008 05:45:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=146600 Change 146600 by julian@julian_trafmon1 on 2008/08/04 05:44:32 IFC@146500 via 'vimage' branch Affected files ... .. //depot/projects/vimage-commit/src/sys/amd64/amd64/cpu_switch.S#2 integrate .. //depot/projects/vimage-commit/src/sys/amd64/amd64/genassym.c#2 integrate .. //depot/projects/vimage-commit/src/sys/amd64/amd64/pmap.c#6 integrate .. //depot/projects/vimage-commit/src/sys/amd64/conf/GENERIC#4 integrate .. //depot/projects/vimage-commit/src/sys/amd64/ia32/ia32_signal.c#2 integrate .. //depot/projects/vimage-commit/src/sys/amd64/include/param.h#3 integrate .. //depot/projects/vimage-commit/src/sys/amd64/include/pcb.h#2 integrate .. //depot/projects/vimage-commit/src/sys/amd64/include/pmap.h#4 integrate .. //depot/projects/vimage-commit/src/sys/amd64/linux32/linux32_machdep.c#2 integrate .. //depot/projects/vimage-commit/src/sys/arm/arm/db_interface.c#2 integrate .. //depot/projects/vimage-commit/src/sys/arm/arm/swtch.S#2 integrate .. //depot/projects/vimage-commit/src/sys/arm/at91/uart_dev_at91usart.c#2 integrate .. //depot/projects/vimage-commit/src/sys/arm/conf/AVILA#2 integrate .. //depot/projects/vimage-commit/src/sys/arm/include/db_machdep.h#2 integrate .. //depot/projects/vimage-commit/src/sys/bsm/audit.h#2 integrate .. //depot/projects/vimage-commit/src/sys/bsm/audit_internal.h#2 integrate .. //depot/projects/vimage-commit/src/sys/bsm/audit_kevents.h#2 integrate .. //depot/projects/vimage-commit/src/sys/bsm/audit_record.h#2 integrate .. //depot/projects/vimage-commit/src/sys/cam/cam_xpt.c#2 integrate .. //depot/projects/vimage-commit/src/sys/compat/linux/linux_ioctl.c#4 integrate .. //depot/projects/vimage-commit/src/sys/compat/linux/linux_ioctl.h#2 integrate .. //depot/projects/vimage-commit/src/sys/compat/linux/linux_misc.c#7 integrate .. //depot/projects/vimage-commit/src/sys/compat/ndis/kern_ndis.c#2 integrate .. //depot/projects/vimage-commit/src/sys/conf/NOTES#6 integrate .. //depot/projects/vimage-commit/src/sys/conf/files#9 integrate .. //depot/projects/vimage-commit/src/sys/contrib/ipfilter/netinet/ip_compat.h#2 integrate .. //depot/projects/vimage-commit/src/sys/contrib/ipfilter/netinet/ip_fil.h#2 integrate .. //depot/projects/vimage-commit/src/sys/contrib/ipfilter/netinet/ip_nat.c#2 integrate .. //depot/projects/vimage-commit/src/sys/contrib/ipfilter/netinet/ip_nat.h#2 integrate .. //depot/projects/vimage-commit/src/sys/contrib/ipfilter/netinet/ip_state.c#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/pf/net/pf_ioctl.c#3 integrate .. //depot/projects/vimage-commit/src/sys/ddb/db_run.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpica/acpi.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/agp/agp_i810.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/atkbdc/psm.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/bfe/if_bfe.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/bfe/if_bfereg.h#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/ciss/ciss.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/ciss/cissreg.h#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/cxgb/ulp/tom/cxgb_ddp.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/cxgb/ulp/tom/cxgb_l2t.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/cxgb/ulp/tom/cxgb_listen.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/cxgb/ulp/tom/cxgb_tcp_offload.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/cxgb/ulp/tom/cxgb_tcp_offload.h#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/cxgb/ulp/tom/cxgb_tom.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/cxgb/ulp/tom/cxgb_tom_sysctl.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/e1000/LICENSE#1 branch .. //depot/projects/vimage-commit/src/sys/dev/e1000/README#1 branch .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_80003es2lan.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_80003es2lan.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_82540.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_82541.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_82541.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_82542.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_82543.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_82543.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_82571.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_82571.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_82575.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_82575.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_api.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_api.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_defines.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_hw.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_ich8lan.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_ich8lan.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_mac.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_mac.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_manage.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_manage.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_nvm.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_nvm.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_osdep.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_osdep.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_phy.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_phy.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_regs.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/e1000/if_em.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/e1000/if_em.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/e1000/if_igb.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/e1000/if_igb.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/em/LICENSE#2 delete .. //depot/projects/vimage-commit/src/sys/dev/em/README#2 delete .. //depot/projects/vimage-commit/src/sys/dev/em/e1000_80003es2lan.c#2 delete .. //depot/projects/vimage-commit/src/sys/dev/em/e1000_80003es2lan.h#2 delete .. //depot/projects/vimage-commit/src/sys/dev/em/e1000_82540.c#2 delete .. //depot/projects/vimage-commit/src/sys/dev/em/e1000_82541.c#2 delete .. //depot/projects/vimage-commit/src/sys/dev/em/e1000_82541.h#2 delete .. //depot/projects/vimage-commit/src/sys/dev/em/e1000_82542.c#2 delete .. //depot/projects/vimage-commit/src/sys/dev/em/e1000_82543.c#2 delete .. //depot/projects/vimage-commit/src/sys/dev/em/e1000_82543.h#2 delete .. //depot/projects/vimage-commit/src/sys/dev/em/e1000_82571.c#2 delete .. //depot/projects/vimage-commit/src/sys/dev/em/e1000_82571.h#2 delete .. //depot/projects/vimage-commit/src/sys/dev/em/e1000_api.c#2 delete .. //depot/projects/vimage-commit/src/sys/dev/em/e1000_api.h#2 delete .. //depot/projects/vimage-commit/src/sys/dev/em/e1000_defines.h#2 delete .. //depot/projects/vimage-commit/src/sys/dev/em/e1000_hw.h#2 delete .. //depot/projects/vimage-commit/src/sys/dev/em/e1000_ich8lan.c#2 delete .. //depot/projects/vimage-commit/src/sys/dev/em/e1000_ich8lan.h#2 delete .. //depot/projects/vimage-commit/src/sys/dev/em/e1000_mac.c#2 delete .. //depot/projects/vimage-commit/src/sys/dev/em/e1000_mac.h#2 delete .. //depot/projects/vimage-commit/src/sys/dev/em/e1000_manage.c#2 delete .. //depot/projects/vimage-commit/src/sys/dev/em/e1000_manage.h#2 delete .. //depot/projects/vimage-commit/src/sys/dev/em/e1000_nvm.c#2 delete .. //depot/projects/vimage-commit/src/sys/dev/em/e1000_nvm.h#2 delete .. //depot/projects/vimage-commit/src/sys/dev/em/e1000_osdep.c#2 delete .. //depot/projects/vimage-commit/src/sys/dev/em/e1000_osdep.h#2 delete .. //depot/projects/vimage-commit/src/sys/dev/em/e1000_phy.c#2 delete .. //depot/projects/vimage-commit/src/sys/dev/em/e1000_phy.h#2 delete .. //depot/projects/vimage-commit/src/sys/dev/em/e1000_regs.h#2 delete .. //depot/projects/vimage-commit/src/sys/dev/em/if_em.c#2 delete .. //depot/projects/vimage-commit/src/sys/dev/em/if_em.h#2 delete .. //depot/projects/vimage-commit/src/sys/dev/hwpmc/hwpmc_mod.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/ie/if_ie.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/ie/if_ie_isa.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/ie/if_ievar.h#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/igb/e1000_82575.c#2 delete .. //depot/projects/vimage-commit/src/sys/dev/igb/e1000_82575.h#2 delete .. //depot/projects/vimage-commit/src/sys/dev/igb/e1000_api.c#2 delete .. //depot/projects/vimage-commit/src/sys/dev/igb/e1000_api.h#2 delete .. //depot/projects/vimage-commit/src/sys/dev/igb/e1000_defines.h#2 delete .. //depot/projects/vimage-commit/src/sys/dev/igb/e1000_hw.h#2 delete .. //depot/projects/vimage-commit/src/sys/dev/igb/e1000_mac.c#2 delete .. //depot/projects/vimage-commit/src/sys/dev/igb/e1000_mac.h#2 delete .. //depot/projects/vimage-commit/src/sys/dev/igb/e1000_manage.c#2 delete .. //depot/projects/vimage-commit/src/sys/dev/igb/e1000_manage.h#2 delete .. //depot/projects/vimage-commit/src/sys/dev/igb/e1000_nvm.c#2 delete .. //depot/projects/vimage-commit/src/sys/dev/igb/e1000_nvm.h#2 delete .. //depot/projects/vimage-commit/src/sys/dev/igb/e1000_osdep.c#2 delete .. //depot/projects/vimage-commit/src/sys/dev/igb/e1000_osdep.h#2 delete .. //depot/projects/vimage-commit/src/sys/dev/igb/e1000_phy.c#2 delete .. //depot/projects/vimage-commit/src/sys/dev/igb/e1000_phy.h#2 delete .. //depot/projects/vimage-commit/src/sys/dev/igb/e1000_regs.h#2 delete .. //depot/projects/vimage-commit/src/sys/dev/igb/if_igb.c#2 delete .. //depot/projects/vimage-commit/src/sys/dev/igb/if_igb.h#2 delete .. //depot/projects/vimage-commit/src/sys/dev/iicbus/ds1339.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/ixgbe/ixgbe.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/ixgbe/ixgbe.h#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/ixgbe/ixgbe_82598.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/ixgbe/ixgbe_api.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/ixgbe/ixgbe_api.h#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/ixgbe/ixgbe_common.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/ixgbe/ixgbe_common.h#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/ixgbe/ixgbe_phy.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/ixgbe/ixgbe_phy.h#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/ixgbe/ixgbe_type.h#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/jme/if_jme.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/kbd/kbd.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/kbdmux/kbdmux.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/nvram/nvram.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/pccard/pccarddevs#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/pci/pci.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/pci/pci_pci.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/pci/pcivar.h#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/ehci_pci.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/ehcireg.h#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/if_rum.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/if_ural.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/ugen.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/uhid.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/uipaq.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/usbdevs#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/wi/if_wi.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/wi/if_wi_pccard.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/wi/if_wi_pci.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/wi/if_wireg.h#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/wi/if_wivar.h#2 integrate .. //depot/projects/vimage-commit/src/sys/i386/conf/GENERIC#4 integrate .. //depot/projects/vimage-commit/src/sys/i386/i386/mp_machdep.c#3 integrate .. //depot/projects/vimage-commit/src/sys/i386/i386/pmap.c#4 integrate .. //depot/projects/vimage-commit/src/sys/i386/include/profile.h#2 integrate .. //depot/projects/vimage-commit/src/sys/kern/kern_exec.c#3 integrate .. //depot/projects/vimage-commit/src/sys/kern/kern_lock.c#2 integrate .. //depot/projects/vimage-commit/src/sys/kern/kern_proc.c#2 integrate .. //depot/projects/vimage-commit/src/sys/kern/kern_timeout.c#4 integrate .. //depot/projects/vimage-commit/src/sys/kern/sched_4bsd.c#3 integrate .. //depot/projects/vimage-commit/src/sys/kern/subr_clist.c#2 integrate .. //depot/projects/vimage-commit/src/sys/kern/subr_lock.c#2 integrate .. //depot/projects/vimage-commit/src/sys/kern/subr_sleepqueue.c#2 integrate .. //depot/projects/vimage-commit/src/sys/kern/tty.c#5 integrate .. //depot/projects/vimage-commit/src/sys/kern/tty_info.c#1 branch .. //depot/projects/vimage-commit/src/sys/kern/uipc_usrreq.c#4 integrate .. //depot/projects/vimage-commit/src/sys/kern/vfs_cache.c#2 integrate .. //depot/projects/vimage-commit/src/sys/kern/vfs_subr.c#3 integrate .. //depot/projects/vimage-commit/src/sys/libkern/arc4random.c#3 integrate .. //depot/projects/vimage-commit/src/sys/modules/em/Makefile#2 integrate .. //depot/projects/vimage-commit/src/sys/modules/et/Makefile#2 integrate .. //depot/projects/vimage-commit/src/sys/modules/igb/Makefile#2 integrate .. //depot/projects/vimage-commit/src/sys/modules/mem/Makefile#3 integrate .. //depot/projects/vimage-commit/src/sys/modules/netgraph/bluetooth/socket/Makefile#2 integrate .. //depot/projects/vimage-commit/src/sys/modules/nfslockd/Makefile#3 integrate .. //depot/projects/vimage-commit/src/sys/net/bpf.c#4 integrate .. //depot/projects/vimage-commit/src/sys/net/bpf_buffer.c#2 integrate .. //depot/projects/vimage-commit/src/sys/net/bpfdesc.h#2 integrate .. //depot/projects/vimage-commit/src/sys/net/if.h#3 integrate .. //depot/projects/vimage-commit/src/sys/net/if_loop.c#5 integrate .. //depot/projects/vimage-commit/src/sys/net/if_media.h#2 integrate .. //depot/projects/vimage-commit/src/sys/net/route.c#4 integrate .. //depot/projects/vimage-commit/src/sys/net80211/ieee80211_dfs.c#2 integrate .. //depot/projects/vimage-commit/src/sys/net80211/ieee80211_freebsd.c#3 integrate .. //depot/projects/vimage-commit/src/sys/net80211/ieee80211_hostap.c#2 integrate .. //depot/projects/vimage-commit/src/sys/net80211/ieee80211_ht.c#3 integrate .. //depot/projects/vimage-commit/src/sys/net80211/ieee80211_input.c#2 integrate .. //depot/projects/vimage-commit/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#3 integrate .. //depot/projects/vimage-commit/src/sys/netgraph/bluetooth/include/ng_btsocket_sco.h#1 branch .. //depot/projects/vimage-commit/src/sys/netgraph/bluetooth/socket/ng_btsocket.c#2 integrate .. //depot/projects/vimage-commit/src/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c#2 integrate .. //depot/projects/vimage-commit/src/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#2 integrate .. //depot/projects/vimage-commit/src/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c#2 integrate .. //depot/projects/vimage-commit/src/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#2 integrate .. //depot/projects/vimage-commit/src/sys/netgraph/bluetooth/socket/ng_btsocket_sco.c#1 branch .. //depot/projects/vimage-commit/src/sys/netgraph/ng_l2tp.c#2 integrate .. //depot/projects/vimage-commit/src/sys/netinet/ip_divert.c#3 integrate .. //depot/projects/vimage-commit/src/sys/netinet/ip_fw2.c#5 integrate .. //depot/projects/vimage-commit/src/sys/netinet/raw_ip.c#6 integrate .. //depot/projects/vimage-commit/src/sys/netinet/sctp.h#3 integrate .. //depot/projects/vimage-commit/src/sys/netinet/sctp_asconf.c#4 integrate .. //depot/projects/vimage-commit/src/sys/netinet/sctp_bsd_addr.c#4 integrate .. //depot/projects/vimage-commit/src/sys/netinet/sctp_constants.h#3 integrate .. //depot/projects/vimage-commit/src/sys/netinet/sctp_input.c#4 integrate .. //depot/projects/vimage-commit/src/sys/netinet/sctp_output.c#5 integrate .. //depot/projects/vimage-commit/src/sys/netinet/sctp_pcb.c#5 integrate .. //depot/projects/vimage-commit/src/sys/netinet/sctp_pcb.h#5 integrate .. //depot/projects/vimage-commit/src/sys/netinet/sctp_timer.c#4 integrate .. //depot/projects/vimage-commit/src/sys/netinet/sctp_usrreq.c#5 integrate .. //depot/projects/vimage-commit/src/sys/netinet/sctp_var.h#5 integrate .. //depot/projects/vimage-commit/src/sys/netinet/sctputil.c#4 integrate .. //depot/projects/vimage-commit/src/sys/netinet/tcp_input.c#4 integrate .. //depot/projects/vimage-commit/src/sys/netinet/tcp_output.c#5 integrate .. //depot/projects/vimage-commit/src/sys/netinet/tcp_subr.c#5 integrate .. //depot/projects/vimage-commit/src/sys/netinet/tcp_syncache.c#6 integrate .. //depot/projects/vimage-commit/src/sys/netinet/tcp_syncache.h#3 integrate .. //depot/projects/vimage-commit/src/sys/netinet/tcp_usrreq.c#4 integrate .. //depot/projects/vimage-commit/src/sys/netinet/tcp_var.h#4 integrate .. //depot/projects/vimage-commit/src/sys/netinet/udp_usrreq.c#6 integrate .. //depot/projects/vimage-commit/src/sys/netinet/vinet.h#2 integrate .. //depot/projects/vimage-commit/src/sys/netinet6/icmp6.c#6 integrate .. //depot/projects/vimage-commit/src/sys/netinet6/ip6_output.c#4 integrate .. //depot/projects/vimage-commit/src/sys/netinet6/raw_ip6.c#5 integrate .. //depot/projects/vimage-commit/src/sys/netipsec/ipsec.c#7 integrate .. //depot/projects/vimage-commit/src/sys/netipx/ipx_input.c#4 integrate .. //depot/projects/vimage-commit/src/sys/netipx/ipx_usrreq.c#3 integrate .. //depot/projects/vimage-commit/src/sys/nfsclient/nfs_vfsops.c#7 integrate .. //depot/projects/vimage-commit/src/sys/pci/if_sis.c#2 integrate .. //depot/projects/vimage-commit/src/sys/rpc/auth_unix.c#4 integrate .. //depot/projects/vimage-commit/src/sys/security/audit/audit.c#4 integrate .. //depot/projects/vimage-commit/src/sys/security/audit/audit.h#3 integrate .. //depot/projects/vimage-commit/src/sys/security/audit/audit_arg.c#3 integrate .. //depot/projects/vimage-commit/src/sys/security/audit/audit_bsm_klib.c#3 integrate .. //depot/projects/vimage-commit/src/sys/security/audit/audit_bsm_token.c#3 integrate .. //depot/projects/vimage-commit/src/sys/security/audit/audit_pipe.c#3 integrate .. //depot/projects/vimage-commit/src/sys/security/audit/audit_private.h#3 integrate .. //depot/projects/vimage-commit/src/sys/security/audit/audit_syscalls.c#3 integrate .. //depot/projects/vimage-commit/src/sys/security/audit/audit_worker.c#4 integrate .. //depot/projects/vimage-commit/src/sys/security/mac_biba/mac_biba.c#4 integrate .. //depot/projects/vimage-commit/src/sys/security/mac_bsdextended/mac_bsdextended.c#2 integrate .. //depot/projects/vimage-commit/src/sys/security/mac_lomac/mac_lomac.c#3 integrate .. //depot/projects/vimage-commit/src/sys/security/mac_mls/mac_mls.c#4 integrate .. //depot/projects/vimage-commit/src/sys/security/mac_partition/mac_partition.c#2 integrate .. //depot/projects/vimage-commit/src/sys/sys/callout.h#2 integrate .. //depot/projects/vimage-commit/src/sys/sys/elf_common.h#2 integrate .. //depot/projects/vimage-commit/src/sys/sys/proc.h#3 integrate .. //depot/projects/vimage-commit/src/sys/sys/procfs.h#2 integrate .. //depot/projects/vimage-commit/src/sys/sys/refcount.h#2 integrate .. //depot/projects/vimage-commit/src/sys/sys/sockbuf.h#1 branch .. //depot/projects/vimage-commit/src/sys/sys/socketvar.h#4 integrate .. //depot/projects/vimage-commit/src/sys/sys/sockio.h#3 integrate .. //depot/projects/vimage-commit/src/sys/sys/sockopt.h#1 branch .. //depot/projects/vimage-commit/src/sys/sys/sockstate.h#1 branch .. //depot/projects/vimage-commit/src/sys/sys/vnode.h#2 integrate .. //depot/projects/vimage-commit/src/sys/ufs/ffs/ffs_balloc.c#2 integrate .. //depot/projects/vimage-commit/src/sys/ufs/ufs/ufs_lookup.c#2 integrate .. //depot/projects/vimage-commit/src/sys/vm/swap_pager.c#3 integrate .. //depot/projects/vimage-commit/src/sys/vm/vm_object.c#2 integrate .. //depot/projects/vimage-commit/src/sys/vm/vnode_pager.c#3 integrate Differences ... ==== //depot/projects/vimage-commit/src/sys/amd64/amd64/cpu_switch.S#2 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.161 2008/03/23 23:09:06 peter Exp $ + * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.162 2008/07/30 11:30:55 kib Exp $ */ #include @@ -113,8 +113,8 @@ movq PCB_GSBASE(%r8),%r10 testl $PCB_32BIT,PCB_FLAGS(%r8) - jnz store_gs /* static predict not taken */ -done_store_gs: + jnz store_seg +done_store_seg: testl $PCB_DBREGS,PCB_FLAGS(%r8) jnz store_dr /* static predict not taken */ @@ -176,6 +176,10 @@ testl $TDP_KTHREAD,TD_PFLAGS(%rsi) jnz do_kthread + testl $PCB_32BIT,PCB_FLAGS(%r8) + jnz load_seg +done_load_seg: + cmpq PCB_FSBASE(%r8),%r9 jz 1f /* Restore userland %fs */ @@ -184,7 +188,6 @@ movl PCB_FSBASE+4(%r8),%edx wrmsr 1: - cmpq PCB_GSBASE(%r8),%r10 jz 2f /* Restore userland %gs */ @@ -193,8 +196,8 @@ movl PCB_GSBASE+4(%r8),%edx wrmsr 2: + do_tss: - /* Update the TSS_RSP0 pointer for the next interrupt */ movq PCPU(TSSP), %rax movq %r8, PCPU(RSP0) @@ -208,10 +211,6 @@ jnz load_dr /* static predict not taken */ done_load_dr: - testl $PCB_32BIT,PCB_FLAGS(%r8) - jnz load_gs /* static predict not taken */ -done_load_gs: - /* Restore context. */ movq PCB_R15(%r8),%r15 movq PCB_R14(%r8),%r14 @@ -243,23 +242,35 @@ movq %r10,PCB_GSBASE(%r8) jmp do_tss -store_gs: +store_seg: movl %gs,PCB_GS(%r8) - movq PCB_GS32P(%r8),%rax + testl $PCB_GS32BIT,PCB_FLAGS(%r8) + jnz 2f +1: movl %ds,PCB_DS(%r8) + movl %es,PCB_ES(%r8) + movl %fs,PCB_FS(%r8) + jmp done_store_seg +2: movq PCB_GS32P(%r8),%rax movq (%rax),%rax movq %rax,PCB_GS32SD(%r8) - jmp done_store_gs + jmp 1b -load_gs: +load_seg: + testl $PCB_GS32BIT,PCB_FLAGS(%r8) + jnz 2f +1: movl $MSR_GSBASE,%ecx + rdmsr + movl PCB_GS(%r8),%gs + wrmsr + movl PCB_DS(%r8),%ds + movl PCB_ES(%r8),%es + movl PCB_FS(%r8),%fs + jmp done_load_seg /* Restore userland %gs while preserving kernel gsbase */ - movq PCB_GS32P(%r8),%rax +2: movq PCB_GS32P(%r8),%rax movq PCB_GS32SD(%r8),%rcx movq %rcx,(%rax) - movl $MSR_GSBASE,%ecx - rdmsr - movl PCB_GS(%r8),%gs - wrmsr - jmp done_load_gs + jmp 1b store_dr: movq %dr7,%rax /* yes, do the save */ ==== //depot/projects/vimage-commit/src/sys/amd64/amd64/genassym.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.168 2008/05/16 13:23:47 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.169 2008/07/30 11:30:55 kib Exp $"); #include "opt_compat.h" #include "opt_kstack_pages.h" @@ -140,6 +140,7 @@ ASSYM(PCB_DR7, offsetof(struct pcb, pcb_dr7)); ASSYM(PCB_DBREGS, PCB_DBREGS); ASSYM(PCB_32BIT, PCB_32BIT); +ASSYM(PCB_GS32BIT, PCB_GS32BIT); ASSYM(PCB_FULLCTX, PCB_FULLCTX); ASSYM(PCB_FLAGS, offsetof(struct pcb, pcb_flags)); ==== //depot/projects/vimage-commit/src/sys/amd64/amd64/pmap.c#6 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.634 2008/07/18 22:05:51 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.642 2008/08/02 03:43:54 alc Exp $"); /* * Manages physical address maps. @@ -222,6 +222,8 @@ static int pmap_pvh_wired_mappings(struct md_page *pvh, int count); static boolean_t pmap_demote_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t va); +static boolean_t pmap_demote_pdpe(pmap_t pmap, pdp_entry_t *pdpe, + vm_offset_t va); static boolean_t pmap_enter_pde(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot); static vm_page_t pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, @@ -230,9 +232,11 @@ static void pmap_insert_pt_page(pmap_t pmap, vm_page_t mpte); static boolean_t pmap_is_modified_pvh(struct md_page *pvh); static vm_page_t pmap_lookup_pt_page(pmap_t pmap, vm_offset_t va); +static void pmap_pde_attr(pd_entry_t *pde, int cache_bits); static void pmap_promote_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t va); static boolean_t pmap_protect_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t sva, vm_prot_t prot); +static void pmap_pte_attr(pt_entry_t *pte, int cache_bits); static int pmap_remove_pde(pmap_t pmap, pd_entry_t *pdq, vm_offset_t sva, vm_page_t *free); static int pmap_remove_pte(pmap_t pmap, pt_entry_t *ptq, @@ -739,6 +743,13 @@ SYSCTL_ULONG(_vm_pmap_pde, OID_AUTO, promotions, CTLFLAG_RD, &pmap_pde_promotions, 0, "2MB page promotions"); +SYSCTL_NODE(_vm_pmap, OID_AUTO, pdpe, CTLFLAG_RD, 0, + "1GB page mapping counters"); + +static u_long pmap_pdpe_demotions; +SYSCTL_ULONG(_vm_pmap_pdpe, OID_AUTO, demotions, CTLFLAG_RD, + &pmap_pdpe_demotions, 0, "1GB page demotions"); + /*************************************************** * Low level helper routines..... @@ -3350,9 +3361,8 @@ * are taken, but the code works. */ void -pmap_object_init_pt(pmap_t pmap, vm_offset_t addr, - vm_object_t object, vm_pindex_t pindex, - vm_size_t size) +pmap_object_init_pt(pmap_t pmap, vm_offset_t addr, vm_object_t object, + vm_pindex_t pindex, vm_size_t size) { vm_offset_t va; vm_page_t p, pdpg; @@ -3500,7 +3510,7 @@ void pmap_copy(pmap_t dst_pmap, pmap_t src_pmap, vm_offset_t dst_addr, vm_size_t len, - vm_offset_t src_addr) + vm_offset_t src_addr) { vm_page_t free; vm_offset_t addr; @@ -4251,41 +4261,35 @@ /* Adjust the cache mode for a 4KB page mapped via a PTE. */ static __inline void -pmap_pte_attr(vm_offset_t va, int mode) +pmap_pte_attr(pt_entry_t *pte, int cache_bits) { - pt_entry_t *pte; u_int opte, npte; - pte = vtopte(va); - /* * The cache mode bits are all in the low 32-bits of the * PTE, so we can just spin on updating the low 32-bits. */ do { opte = *(u_int *)pte; - npte = opte & ~(PG_PTE_PAT | PG_NC_PCD | PG_NC_PWT); - npte |= pmap_cache_bits(mode, 0); + npte = opte & ~PG_PTE_CACHE; + npte |= cache_bits; } while (npte != opte && !atomic_cmpset_int((u_int *)pte, opte, npte)); } /* Adjust the cache mode for a 2MB page mapped via a PDE. */ static __inline void -pmap_pde_attr(vm_offset_t va, int mode) +pmap_pde_attr(pd_entry_t *pde, int cache_bits) { - pd_entry_t *pde; u_int opde, npde; - pde = pmap_pde(kernel_pmap, va); - /* * The cache mode bits are all in the low 32-bits of the * PDE, so we can just spin on updating the low 32-bits. */ do { opde = *(u_int *)pde; - npde = opde & ~(PG_PDE_PAT | PG_NC_PCD | PG_NC_PWT); - npde |= pmap_cache_bits(mode, 1); + npde = opde & ~PG_PDE_CACHE; + npde |= cache_bits; } while (npde != opde && !atomic_cmpset_int((u_int *)pde, opde, npde)); } @@ -4301,11 +4305,14 @@ vm_offset_t va, tmpva, offset; /* - * If this fits within the direct map window and use WB caching - * mode, use the direct map. + * If the specified range of physical addresses fits within the direct + * map window, use the direct map. */ - if (pa < dmaplimit && (pa + size) < dmaplimit && mode == PAT_WRITE_BACK) - return ((void *)PHYS_TO_DMAP(pa)); + if (pa < dmaplimit && pa + size < dmaplimit) { + va = PHYS_TO_DMAP(pa); + if (!pmap_change_attr(va, size, mode)) + return ((void *)va); + } offset = pa & PAGE_MASK; size = roundup(offset + size, PAGE_SIZE); va = kmem_alloc_nofault(kernel_map, size); @@ -4354,70 +4361,213 @@ kmem_free(kernel_map, base, size); } +/* + * Tries to demote a 1GB page mapping. + */ +static boolean_t +pmap_demote_pdpe(pmap_t pmap, pdp_entry_t *pdpe, vm_offset_t va) +{ + pdp_entry_t newpdpe, oldpdpe; + pd_entry_t *firstpde, newpde, *pde; + vm_paddr_t mpdepa; + vm_page_t mpde; + + PMAP_LOCK_ASSERT(pmap, MA_OWNED); + oldpdpe = *pdpe; + KASSERT((oldpdpe & (PG_PS | PG_V)) == (PG_PS | PG_V), + ("pmap_demote_pdpe: oldpdpe is missing PG_PS and/or PG_V")); + if ((mpde = vm_page_alloc(NULL, va >> PDPSHIFT, VM_ALLOC_INTERRUPT | + VM_ALLOC_NOOBJ | VM_ALLOC_WIRED)) == NULL) { + CTR2(KTR_PMAP, "pmap_demote_pdpe: failure for va %#lx" + " in pmap %p", va, pmap); + return (FALSE); + } + mpdepa = VM_PAGE_TO_PHYS(mpde); + firstpde = (pd_entry_t *)PHYS_TO_DMAP(mpdepa); + newpdpe = mpdepa | PG_M | PG_A | (oldpdpe & PG_U) | PG_RW | PG_V; + KASSERT((oldpdpe & PG_A) != 0, + ("pmap_demote_pdpe: oldpdpe is missing PG_A")); + KASSERT((oldpdpe & (PG_M | PG_RW)) != PG_RW, + ("pmap_demote_pdpe: oldpdpe is missing PG_M")); + newpde = oldpdpe; + + /* + * Initialize the page directory page. + */ + for (pde = firstpde; pde < firstpde + NPDEPG; pde++) { + *pde = newpde; + newpde += NBPDR; + } + + /* + * Demote the mapping. + */ + *pdpe = newpdpe; + + /* + * Invalidate a stale recursive mapping of the page directory page. + */ + pmap_invalidate_page(pmap, (vm_offset_t)vtopde(va)); + + pmap_pdpe_demotions++; + CTR2(KTR_PMAP, "pmap_demote_pdpe: success for va %#lx" + " in pmap %p", va, pmap); + return (TRUE); +} + int -pmap_change_attr(va, size, mode) - vm_offset_t va; - vm_size_t size; - int mode; +pmap_change_attr(vm_offset_t va, vm_size_t size, int mode) { vm_offset_t base, offset, tmpva; + pdp_entry_t *pdpe; pd_entry_t *pde; pt_entry_t *pte; + int cache_bits_pte, cache_bits_pde; + boolean_t changed; base = trunc_page(va); offset = va & PAGE_MASK; size = roundup(offset + size, PAGE_SIZE); - /* Only supported on kernel virtual addresses. */ - if (base <= VM_MAXUSER_ADDRESS) + /* + * Only supported on kernel virtual addresses, including the direct + * map but excluding the recursive map. + */ + if (base < DMAP_MIN_ADDRESS) return (EINVAL); + cache_bits_pde = cache_bits_pte = -1; + changed = FALSE; + /* - * XXX: We have to support tearing 2MB pages down into 4k pages if - * needed here. + * Pages that aren't mapped aren't supported. Also break down 2MB pages + * into 4KB pages if required. */ - /* Pages that aren't mapped aren't supported. */ - for (tmpva = base; tmpva < (base + size); ) { - pde = pmap_pde(kernel_pmap, tmpva); - if (*pde == 0) + PMAP_LOCK(kernel_pmap); + for (tmpva = base; tmpva < base + size; ) { + pdpe = pmap_pdpe(kernel_pmap, tmpva); + if (*pdpe == 0) { + PMAP_UNLOCK(kernel_pmap); + return (EINVAL); + } + if (*pdpe & PG_PS) { + /* + * If the current 1GB page already has the required + * memory type, then we need not demote this page. Just + * increment tmpva to the next 1GB page frame. + */ + if (cache_bits_pde < 0) + cache_bits_pde = pmap_cache_bits(mode, 1); + if ((*pdpe & PG_PDE_CACHE) == cache_bits_pde) { + tmpva = trunc_1gpage(tmpva) + NBPDP; + continue; + } + + /* + * If the current offset aligns with a 1GB page frame + * and there is at least 1GB left within the range, then + * we need not break down this page into 2MB pages. + */ + if ((tmpva & PDPMASK) == 0 && + tmpva + PDPMASK < base + size) { + tmpva += NBPDP; + continue; + } + if (!pmap_demote_pdpe(kernel_pmap, pdpe, tmpva)) { + PMAP_UNLOCK(kernel_pmap); + return (ENOMEM); + } + } + pde = pmap_pdpe_to_pde(pdpe, tmpva); + if (*pde == 0) { + PMAP_UNLOCK(kernel_pmap); return (EINVAL); + } if (*pde & PG_PS) { - /* Handle 2MB pages that are completely contained. */ - if (size >= NBPDR) { + /* + * If the current 2MB page already has the required + * memory type, then we need not demote this page. Just + * increment tmpva to the next 2MB page frame. + */ + if (cache_bits_pde < 0) + cache_bits_pde = pmap_cache_bits(mode, 1); + if ((*pde & PG_PDE_CACHE) == cache_bits_pde) { + tmpva = trunc_2mpage(tmpva) + NBPDR; + continue; + } + + /* + * If the current offset aligns with a 2MB page frame + * and there is at least 2MB left within the range, then + * we need not break down this page into 4KB pages. + */ + if ((tmpva & PDRMASK) == 0 && + tmpva + PDRMASK < base + size) { tmpva += NBPDR; continue; } - return (EINVAL); + if (!pmap_demote_pde(kernel_pmap, pde, tmpva)) { + PMAP_UNLOCK(kernel_pmap); + return (ENOMEM); + } } pte = vtopte(tmpva); - if (*pte == 0) + if (*pte == 0) { + PMAP_UNLOCK(kernel_pmap); return (EINVAL); + } tmpva += PAGE_SIZE; } + PMAP_UNLOCK(kernel_pmap); /* * Ok, all the pages exist, so run through them updating their - * cache mode. + * cache mode if required. */ - for (tmpva = base; size > 0; ) { - pde = pmap_pde(kernel_pmap, tmpva); + for (tmpva = base; tmpva < base + size; ) { + pdpe = pmap_pdpe(kernel_pmap, tmpva); + if (*pdpe & PG_PS) { + if (cache_bits_pde < 0) + cache_bits_pde = pmap_cache_bits(mode, 1); + if ((*pdpe & PG_PDE_CACHE) != cache_bits_pde) { + pmap_pde_attr(pdpe, cache_bits_pde); + if (!changed) + changed = TRUE; + } + tmpva = trunc_1gpage(tmpva) + NBPDP; + continue; + } + pde = pmap_pdpe_to_pde(pdpe, tmpva); if (*pde & PG_PS) { - pmap_pde_attr(tmpva, mode); - tmpva += NBPDR; - size -= NBPDR; + if (cache_bits_pde < 0) + cache_bits_pde = pmap_cache_bits(mode, 1); + if ((*pde & PG_PDE_CACHE) != cache_bits_pde) { + pmap_pde_attr(pde, cache_bits_pde); + if (!changed) + changed = TRUE; + } + tmpva = trunc_2mpage(tmpva) + NBPDR; } else { - pmap_pte_attr(tmpva, mode); + if (cache_bits_pte < 0) + cache_bits_pte = pmap_cache_bits(mode, 0); + pte = vtopte(tmpva); + if ((*pte & PG_PTE_CACHE) != cache_bits_pte) { + pmap_pte_attr(pte, cache_bits_pte); + if (!changed) + changed = TRUE; + } tmpva += PAGE_SIZE; - size -= PAGE_SIZE; } } /* - * Flush CPU caches to make sure any data isn't cached that shouldn't - * be, etc. - */ - pmap_invalidate_range(kernel_pmap, base, tmpva); - pmap_invalidate_cache(); + * Flush CPU caches if required to make sure any data isn't cached that + * shouldn't be, etc. + */ + if (changed) { + pmap_invalidate_range(kernel_pmap, base, tmpva); + pmap_invalidate_cache(); + } return (0); } ==== //depot/projects/vimage-commit/src/sys/amd64/conf/GENERIC#4 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.504 2008/07/13 07:20:14 ed Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.505 2008/07/30 22:27:38 jfv Exp $ cpu HAMMER ident GENERIC @@ -189,7 +189,8 @@ # PCI Ethernet NICs. device de # DEC/Intel DC21x4x (``Tulip'') -device em # Intel PRO/1000 adapter Gigabit Ethernet Card +device em # Intel PRO/1000 Gigabit Ethernet Family +device igb # Intel PRO/1000 PCIE Server Gigabit Family device ixgb # Intel PRO/10GbE Ethernet Card device le # AMD Am7900 LANCE and Am79C9xx PCnet device ti # Alteon Networks Tigon I/II gigabit Ethernet ==== //depot/projects/vimage-commit/src/sys/amd64/ia32/ia32_signal.c#2 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_signal.c,v 1.17 2008/03/23 22:44:56 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_signal.c,v 1.18 2008/07/30 11:30:55 kib Exp $"); #include "opt_compat.h" @@ -741,6 +741,6 @@ fpstate_drop(td); /* Return via doreti so that we can change to a different %cs */ - pcb->pcb_flags |= PCB_FULLCTX; + pcb->pcb_flags |= PCB_FULLCTX | PCB_32BIT; td->td_retval[1] = 0; } ==== //depot/projects/vimage-commit/src/sys/amd64/include/param.h#3 (text+ko) ==== @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)param.h 8.1 (Berkeley) 6/10/93 - * $FreeBSD: src/sys/amd64/include/param.h,v 1.22 2008/07/19 23:42:38 alc Exp $ + * $FreeBSD: src/sys/amd64/include/param.h,v 1.23 2008/08/01 04:55:38 alc Exp $ */ /* @@ -146,6 +146,7 @@ #define trunc_page(x) ((unsigned long)(x) & ~(PAGE_MASK)) #define trunc_2mpage(x) ((unsigned long)(x) & ~PDRMASK) #define round_2mpage(x) ((((unsigned long)(x)) + PDRMASK) & ~PDRMASK) +#define trunc_1gpage(x) ((unsigned long)(x) & ~PDPMASK) #define atop(x) ((unsigned long)(x) >> PAGE_SHIFT) #define ptoa(x) ((unsigned long)(x) << PAGE_SHIFT) ==== //depot/projects/vimage-commit/src/sys/amd64/include/pcb.h#2 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)pcb.h 5.10 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/amd64/include/pcb.h,v 1.64 2008/03/23 22:45:51 peter Exp $ + * $FreeBSD: src/sys/amd64/include/pcb.h,v 1.65 2008/07/30 11:30:55 kib Exp $ */ #ifndef _AMD64_PCB_H_ @@ -70,6 +70,7 @@ struct savefpu pcb_save; #define PCB_DBREGS 0x02 /* process using debug registers */ #define PCB_FPUINITDONE 0x08 /* fpu state is initialized */ +#define PCB_GS32BIT 0x20 /* linux gs switch */ #define PCB_32BIT 0x40 /* process has 32 bit context (segs etc) */ #define PCB_FULLCTX 0x80 /* full context restore on sysret */ ==== //depot/projects/vimage-commit/src/sys/amd64/include/pmap.h#4 (text+ko) ==== @@ -39,7 +39,7 @@ * * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90 * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.146 2008/07/08 22:59:17 alc Exp $ + * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.147 2008/07/31 22:45:28 alc Exp $ */ #ifndef _MACHINE_PMAP_H_ @@ -75,6 +75,10 @@ #define PG_PROT (PG_RW|PG_U) /* all protection bits . */ #define PG_N (PG_NC_PWT|PG_NC_PCD) /* Non-cacheable */ +/* Page level cache control fields used to determine the PAT type */ +#define PG_PDE_CACHE (PG_PDE_PAT | PG_NC_PWT | PG_NC_PCD) +#define PG_PTE_CACHE (PG_PTE_PAT | PG_NC_PWT | PG_NC_PCD) + /* * Promotion to a 2MB (PDE) page mapping requires that the corresponding 4KB * (PTE) page mappings have identical settings for the following fields: ==== //depot/projects/vimage-commit/src/sys/amd64/linux32/linux32_machdep.c#2 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.46 2008/02/11 19:35:03 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.47 2008/07/30 11:30:55 kib Exp $"); #include #include @@ -696,7 +696,7 @@ td2->td_pcb->pcb_gs32sd = sd; td2->td_pcb->pcb_gs32p = &gdt[GUGS32_SEL]; td2->td_pcb->pcb_gs = GSEL(GUGS32_SEL, SEL_UPL); - td2->td_pcb->pcb_flags |= PCB_32BIT; + td2->td_pcb->pcb_flags |= PCB_GS32BIT | PCB_32BIT; } } ==== //depot/projects/vimage-commit/src/sys/arm/arm/db_interface.c#2 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/db_interface.c,v 1.7 2007/02/26 05:17:47 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/db_interface.c,v 1.8 2008/08/03 01:53:14 cognet Exp $"); #include "opt_ddb.h" #include @@ -294,7 +294,7 @@ u_int branch_taken(u_int insn, db_addr_t pc) { - u_int addr, nregs; + u_int addr, nregs, offset = 0; switch ((insn >> 24) & 0xf) { case 0xa: /* b ... */ @@ -311,6 +311,17 @@ case 0x1: /* mov pc, reg */ addr = db_fetch_reg(insn & 0xf); return (addr); + case 0x5: /* ldr pc, [reg] */ + addr = db_fetch_reg((insn >> 16) & 0xf); + /* ldr pc, [reg, #offset] */ + if (insn & (1 << 24)) + offset = insn & 0xfff; + if (insn & 0x00800000) + addr += offset; + else + addr -= offset; + db_read_bytes(addr, 4, (char *)&addr); + return (addr); case 0x8: /* ldmxx reg, {..., pc} */ case 0x9: addr = db_fetch_reg((insn >> 16) & 0xf); ==== //depot/projects/vimage-commit/src/sys/arm/arm/swtch.S#2 (text+ko) ==== @@ -83,7 +83,7 @@ #include #include #include -__FBSDID("$FreeBSD: src/sys/arm/arm/swtch.S,v 1.22 2008/02/05 10:22:33 raj Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/swtch.S,v 1.23 2008/08/02 00:10:38 cognet Exp $"); /* @@ -257,6 +257,7 @@ strd r10, [r2, #(PCB_R10)] strd r12, [r2, #(PCB_R12)] #endif + str pc, [r2, #(PCB_PC)] /* * NOTE: We can now use r8-r13 until it is time to restore ==== //depot/projects/vimage-commit/src/sys/arm/at91/uart_dev_at91usart.c#2 (text) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/uart_dev_at91usart.c,v 1.14 2008/05/04 23:29:37 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/uart_dev_at91usart.c,v 1.15 2008/08/02 08:01:56 ed Exp $"); #include "opt_comconsole.h" @@ -510,15 +510,18 @@ if (sc->sc_sysdev != NULL && sc->sc_sysdev->type == UART_DEV_CONSOLE) { if ((kdb_brk = kdb_alt_break(key, &sc->sc_altbrk)) != 0) { - case KDB_REQ_DEBUGGER: - kdb_enter(KDB_WHY_BREAK, "Break sequence on console"); - break; - case KDB_REQ_PANIC: - kdb_panic("Panic sequence on console"); - break; - case KDB_REQ_REBOOT: >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Aug 4 05:47:09 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B09CE106566B; Mon, 4 Aug 2008 05:47:09 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 73A891065676 for ; Mon, 4 Aug 2008 05:47:09 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 479AA8FC08 for ; Mon, 4 Aug 2008 05:47:09 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m745l9TT087688 for ; Mon, 4 Aug 2008 05:47:09 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m745l9jx087686 for perforce@freebsd.org; Mon, 4 Aug 2008 05:47:09 GMT (envelope-from julian@freebsd.org) Date: Mon, 4 Aug 2008 05:47:09 GMT Message-Id: <200808040547.m745l9jx087686@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Cc: Subject: PERFORCE change 146601 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, 04 Aug 2008 05:47:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=146601 Change 146601 by julian@julian_trafmon1 on 2008/08/04 05:46:54 Add VLINT config Affected files ... .. //depot/projects/vimage-commit/src/sys/i386/conf/VLINT#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Mon Aug 4 11:26:59 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 573A11065677; Mon, 4 Aug 2008 11:26:59 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1B66B106566C for ; Mon, 4 Aug 2008 11:26:59 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 04B4B8FC1B for ; Mon, 4 Aug 2008 11:26:59 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m74BQwqK032690 for ; Mon, 4 Aug 2008 11:26:58 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m74BQwcP032688 for perforce@freebsd.org; Mon, 4 Aug 2008 11:26:58 GMT (envelope-from ed@FreeBSD.org) Date: Mon, 4 Aug 2008 11:26:58 GMT Message-Id: <200808041126.m74BQwcP032688@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 146615 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, 04 Aug 2008 11:26:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=146615 Change 146615 by ed@ed_flippo on 2008/08/04 11:26:22 Remove the now unused TTYHOG/opt_tty.h references. Affected files ... .. //depot/projects/mpsafetty/sys/conf/options#3 edit .. //depot/projects/mpsafetty/sys/dev/nmdm/nmdm.c#5 edit .. //depot/projects/mpsafetty/sys/modules/nmdm/Makefile#2 edit .. //depot/projects/mpsafetty/sys/modules/rc/Makefile#2 edit Differences ... ==== //depot/projects/mpsafetty/sys/conf/options#3 (text+ko) ==== @@ -174,7 +174,6 @@ SYSVSHM opt_sysvipc.h SW_WATCHDOG opt_watchdog.h TURNSTILE_PROFILING -TTYHOG opt_tty.h VFS_AIO VERBOSE_SYSINIT opt_global.h WLCACHE opt_wavelan.h ==== //depot/projects/mpsafetty/sys/dev/nmdm/nmdm.c#5 (text+ko) ==== @@ -36,9 +36,6 @@ * Mighty handy for use with serial console in Vmware */ -#include "opt_compat.h" -#include "opt_tty.h" - #include #include #include ==== //depot/projects/mpsafetty/sys/modules/nmdm/Makefile#2 (text+ko) ==== @@ -4,14 +4,6 @@ KMOD= nmdm SRCS= nmdm.c -SRCS+= opt_compat.h opt_tty.h vnode_if.h - -.if !defined(KERNBUILDDIR) -opt_compat.h: - echo "#define COMPAT_43 1" >opt_compat.h - -opt_tty.h: - echo "#define TTYHOG 8192" >opt_tty.h -.endif +SRCS+= vnode_if.h .include ==== //depot/projects/mpsafetty/sys/modules/rc/Makefile#2 (text+ko) ==== @@ -3,11 +3,6 @@ .PATH: ${.CURDIR}/../../dev/rc KMOD= rc -SRCS= rc.c device_if.h bus_if.h isa_if.h opt_tty.h - -.if !defined(KERNBUILDDIR) -opt_tty.h: - echo "#define TTYHOG 8192" >opt_tty.h -.endif +SRCS= rc.c device_if.h bus_if.h isa_if.h .include From owner-p4-projects@FreeBSD.ORG Mon Aug 4 11:59:32 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 47A651065673; Mon, 4 Aug 2008 11:59:32 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 097611065671 for ; Mon, 4 Aug 2008 11:59:32 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EE2508FC08 for ; Mon, 4 Aug 2008 11:59:31 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m74BxVMj035243 for ; Mon, 4 Aug 2008 11:59:31 GMT (envelope-from remko@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m74BxVgN035241 for perforce@freebsd.org; Mon, 4 Aug 2008 11:59:31 GMT (envelope-from remko@freebsd.org) Date: Mon, 4 Aug 2008 11:59:31 GMT Message-Id: <200808041159.m74BxVgN035241@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to remko@freebsd.org using -f From: Remko Lodder To: Perforce Change Reviews Cc: Subject: PERFORCE change 146616 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, 04 Aug 2008 11:59:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=146616 Change 146616 by remko@remko_nakur on 2008/08/04 11:59:11 update the jails chapter, ready for inclusion. Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/jails/chapter.sgml#9 edit Differences ... ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/jails/chapter.sgml#9 (text+ko) ==== @@ -35,7 +35,7 @@ tool voor systeem beheerders, maar het standaard gedrag kan ook interessant zijn voor gevorderde gebruikers. - Na het lezen van dit hoofdstuk weet men: + Na het lezen van dit hoofdstuk weet de lezer: @@ -60,24 +60,24 @@ De &man.jail.8; handleiding. Hier kan de volledige referentie gevonden worden van het jail commando — de administratieve tool die in &os; gebruikt - kan worden om jails te starten en te stoppen, en om er &os; - jails mee te beheren. + kan worden om &os; jails mee te beheren, te starten en te + stoppen. De mailinglijsten en de archieven hiervan. De archieven - van &a.questions; en andere mailing lijsten die gehost worden - door de &a.mailman.lists; bevatten reeds een rijke bron van - informatie over jails. Het zou altijd aantrekkelijk moeten - zijn om informatie in de archieven te zoeken, of een nieuwe - vraag stellen aan de &a.questions.name; mailinglijst. - + van de &a.questions; en andere mailing lijsten die gehost + worden door de &a.mailman.lists; bevatten reeds een rijke + bron van informatie over jails. Het zou altijd aantrekkelijk + moeten zijn om informatie in de archieven te zoeken, of een + nieuwe vraag stellen aan de &a.questions.name; + mailinglijst. - Termen gerelateerd aan jails + Termen en begrippen van jails Om een beter begrip te geven over de onderdelen van &os; die gerelateerd zijn aan jails, de werking ervan, en hoe ze omgaan @@ -119,7 +119,7 @@ host systeem heeft toegang tot alle beschikbare hardware bronnen en kan processen controleren zowel buiten als binnenin een jail. Één van de belangrijkste - verschillen van het host systeem met een jail is dat de + verschillen van het host systeem met een jail zijn de limitaties die van toepassing zijn op super-gebruiker processen binnenin een jail, niet geforceerd worden voor processen in het host systeem. @@ -142,12 +142,12 @@ Omdat systeem beheer een complexe en enorme taak is, zijn er vele sterke tools ontwikkeld om het leven van een systeem beheerder makkelijker te maken. Deze tools leveren meestal verbeteringen op - de manier waarop systemen worden geinstalleerd, geconfigureerd en - onderhouden. Een deel van de taken waarvan verwacht wordt dat die - uitgevoerd wordt door de systeem beheerder is het goed configureren - van de beveiliging van een systeem, zodat het kan blijven doorgaan - met het serveren van de taak, zonder dat er beveiligings problemen - optreden. + de manier waarop systemen worden geïnstalleerd, geconfigureerd + en onderhouden. Een deel van de taken waarvan verwacht wordt dat + die uitgevoerd wordt door de systeem beheerder is het goed + configureren van de beveiliging van een systeem, zodat het kan + blijven doorgaan met het serveren van de taak, zonder dat er + beveiligings problemen optreden. Één van de tools welke gebruikt kan worden om de beveiliging van een &os; systeem te verbeteren zijn @@ -160,21 +160,21 @@ Wat is een jail - BSD achtige systemen hebben sinds 4.2-BSD ondersteuning van - &man.chroot.2;. De &man.chroot.8; utility kan gebruikt worden om - de root directory van een set processen te wijzigen waardoor een - veilige omgeving wordt gecreeërd voor de rest van het - systeem. Processen die gemaakt worden in een chroot omgeving - kunnen bestanden en bronnen daarbuiten niet benaderen. Daardoor - zou een doorbraak van een dienst die in een chroot omgeving - draait, niet direct moeten betekenen dat het hele systeem - doorbroken is. De &man.chroot.8; utility is goed genoeg voor - simpele taken, waarbij flexibiliteit en geavanceerde en complexe - opties niet nodig zijn. Sinds het uitvinden van het chroot - concept, zijn er vele mogelijkheden gevonden om hieruit te - breken en, alhoewel ze gerepareerd zijn in moderne versies + BSD achtige systemen hebben sinds 4.2-BSD ondersteuning + voor &man.chroot.2;. De &man.chroot.8; utility kan gebruikt + worden om de root directory van een set processen te wijzigen + waardoor een veilige omgeving wordt gecreeërd voor de + rest van het systeem. Processen die gemaakt worden in een + chroot omgeving kunnen bestanden en bronnen daarbuiten niet + benaderen. Daardoor zou een compromitering van een dienst die + in een chroot omgeving draait niet direct betekenen dat het hele + systeem gecompromiteerd is. De &man.chroot.8; utility is goed + genoeg voor simpele taken, waarbij flexibiliteit en geavanceerde + en complexe opties niet nodig zijn. Sinds het uitvinden van het + chroot concept, zijn er vele mogelijkheden gevonden om hieruit + te kunnen komen en alhoewel ze verbeterd zijn in moderne versies van &os;, werd het duidelijk dat &man.chroot.2; niet de meest - ideale oplossing was voor het beveiligen van diensten. Er moest + ideale oplossing was voor het beveiligen van diensten. Er moest een nieuw subsysteem ontwikkeld worden. Dit is één van de redenen waarom jails zijn @@ -183,7 +183,7 @@ Jails zijn een verbeterd concept van de &man.chroot.2; omgeving, in verschillende opzichten. In een traditionele &man.chroot.2; omgeving worden processen alleen gelimiteerd - in het deel van het bestandssysteem wat ze kunnen benaderen. + in het deel van het bestandssysteem die ze kunnen benaderen. De rest van de systeem bronnen (zoals de set van systeem gebruikers, de draaiende processen of het netwerk subsysteem) worden gedeeld door het chrooted proces en de processen op het @@ -199,18 +199,19 @@ - Een aparte subtak van een directory — het startpunt + Een eigen directory structuur — het startpunt van waaruit een jail benaderd wordt. Zodra men in de jail - zit, mogen processen niet buiten deze subtak komen. - Traditionele problemen die &man.chroot.2;'s ontwerp geplaagd - hebben, hebben geen invloed op &os; jails. + zit, mogen processen niet buiten deze directory structuur + komen. Traditionele problemen die &man.chroot.2;'s ontwerp + getart hebben, hebben geen invloed op &os; jails. Een hostname — de hostnaam die gebruikt wordt in de jail. Jails worden met name gebruikt voor het hosten van - netwerk diensten, daardoor kan het de systeembeheerder heel erg - helpen als er beschrijvende hostnames worden gekozen. + netwerk diensten, daardoor kan het de systeembeheerder heel + erg helpen als er beschrijvende hostnames worden + gekozen. @@ -224,22 +225,23 @@ Een commando — het padnaam van een uitvoerbaar bestand in de jail. Deze is relatief aan de rootdirectory - van de jail omgeving en kan heel erg wisselen, afhankelijk + van de jail omgeving en verschilt per situatie, afhankelijk van het type van de specifieke jail omgeving. Buiten deze kenmerken, kunnen jails hun eigen set aan - gebruikers, en root gebruiker hebben. + gebruikers en root gebruiker hebben. Uiteraard zijn de mogelijkheden van de root - gebruiker beperkt tot de jail omgeving en, vanuit het host systeem - gezien, is de root gebruiker geen opper - gebruiker. Daarnaast is het de root + gebruiker beperkt tot de jail omgeving en, vanuit het host + systeem gezien, is de root gebruiker geen + super-gebruiker. Daarnaast is het de root gebruiker in een jail omgeving niet toegestaan om kritieke operaties uit te voeren op het systeem buiten de gedefinieerde jail omgeving. Meer informatie over de mogelijkheden en beperkingen van de root gebruiker kan - gevonden worden in hieronder. + gevonden worden in + hieronder. @@ -248,11 +250,11 @@ Sommige beheerders kiezen ervoor om jails op te delen in de volgende twee types: complete jails, welke - een volledig &os; systeem nabootsen en service + een volledig &os; systeem emuleert en service jails, gericht op één applicatie of dienst, mogelijkerwijs draaiende met privileges. Dit is alleen een - conceptuele splitsing en het proces van het bouwen van een - jail is hierdoor niet geraakt. De &man.jail.8; handleiding + conceptuele splitsing, de manier van het opbouwen van een jail + wordt hierdoor niet veranderd. De &man.jail.8; handleiding is heel duidelijk over de procedure voor het maken van een jail: @@ -268,17 +270,16 @@ Het selecteren van een locatie voor een jail is het beste - begin punt. Hier zal de jail fysiek te vinden zijn binnen + beginpunt. Hier zal de jail fysiek te vinden zijn binnen het bestandssysteem van het host systeem. Een goede keuze kan zijn /usr/jailjailnaam, - waar jailnaam de naam is welke - de jail beschrijft. Het - /usr + waar jailnaam de naam is van de + jail. Het /usr bestandssysteem heeft meestal genoeg ruimte voor het jail bestandssysteem, wat voor een complete jail - eigenlijk een replicatie is van elk bestand dat aanwezig - is in de standaard installatie van een &os; basis systeem. + betekend dat het eigenlijk een replica is van elk bestand + dat standaard aanwezig is binnen het &os; basissysteem. @@ -286,7 +287,7 @@ met de benodigde binaire bestanden, bibliotheken, handleidingen, etc. Alles wordt gedaan op de typische &os; manier, eerst wordt het systeem gebouwd, daarna - wordt het geinstalleerd in de doel directory. + wordt het geïnstalleerd in de doel directory. @@ -301,7 +302,7 @@ - Het koppelen van het &man.devfs.8; bestands systeem + Het koppelen van het &man.devfs.8; bestandssysteem is niet vereist in een jail. Aan de andere kant, vrijwel elke applicatie heeft toegang nodig tot minstens één apparaat, afhankelijk van het doel van @@ -315,12 +316,12 @@ - Zodra een jail is geinstalleerd, kan het opgestart worden + Zodra een jail is geïnstalleerd, kan het opgestart worden door de &man.jail.8; applicatie. De &man.jail.8; applicatie heeft vier benodigde argumenten welke beschreven worden in . Er kunnen ook andere argumenten - gebruikt worden, om bijvoorbeeld de jail et starten met de - credenties van een specifieke gebruiker. Het + gebruikt worden, om bijvoorbeeld de jail te starten met de + instellingen van een specifieke gebruiker. Het argument hangt af van het type jail, voor een virtueel systeem is @@ -329,18 +330,18 @@ Voor een dienst jail is het geheel afhankelijk van de dienst of applicatie die in de jail gaat draaien. - Jails worden over het algemeen gestart, tegelijkertijd met de - systeem start, het &os; rc mechanisme levert - een makkelijke manier om dat te doen: + Jails worden over het algemeen gestart tegelijkertijd met + de rest van het systeem. Het &os; rc + mechanisme levert een makkelijke manier om dat te doen: - Een lijst van jails die opgestart moeten worden tijdens het - opstarten van het systeem, moeten worden toegevoegd aan het - &man.rc.conf.5; bestand: + Een lijst van jails die opgestart moeten worden tijdens + het opstarten van het systeem, moeten worden toegevoegd aan + het &man.rc.conf.5; bestand: jail_enable="YES" # Stel dit in op NO om te voorkomen dat er jails gestart worden -jail_list="www" # Door spaties gescheiden lijst van namen van jails +jail_list="www" # Door spaties gescheiden lijst van jails @@ -352,7 +353,7 @@ jail_www_hostname="www.example.org" # de hostnaam van de jail jail_www_ip="192.168.0.10" # het IP adres van de jail jail_www_devfs_enable="YES" # moet devfs wel of niet gekoppeld worden in de jail -jail_www_devfs_ruleset="www_ruleset" # welke devfs ruleset moet worden gebruikt voor de jail +jail_www_devfs_ruleset="www_ruleset" # welke devfs ruleset gebruikt moet worden voor de jail De standaard opstart variabelen in &man.rc.conf.5; gebruiken het /etc/rc bestand om de jail @@ -386,7 +387,7 @@ &prompt.root; sh /etc/rc.shutdown - Meer informatie over dit alles kan gevonden worden in de + Meer informatie hierover kan gevonden worden in de &man.jail.8; handleiding. @@ -395,21 +396,23 @@ Er zijn meerdere opties beschikbaar die ingesteld kunnen worden voor elke jail, en er zijn meerdere mogelijkheden om een - &os; host systeem te combineren met jails om een hoger nivo van - applicaties te verkrijgen. Deze sectie presenteert: + &os; host systeem te combineren met jails om een betere scheiding + tussen systeem en applicaties te verkrijgen. Deze sectie + leert: Een aantal opties zijn beschikbaar voor het optimaliseren - van het gedrag en beveiligings beperkingen die geimplementeerd - worden in een jail. + van het gedrag en beveiligings beperkingen die + geïmplementeerd worden in een jail. - Een aantal hoger nivo applicaties die gebruikt worden voor - het beheren van jails, welke beschikbaar zijn via de &os; Ports - Collectie en kunnen gebruikt worden om een complete - jail-gebaseerde oplossing te creeëren. + Een aantal high-level applicaties die + gebruikt worden voor het beheren van jails, welke beschikbaar + zijn via de &os; Ports Collectie en kunnen gebruikt worden + om een complete jail-gebaseerde oplossing te + creeëren. @@ -417,13 +420,13 @@ Systeem applicaties voor het optimaliseren van jails onder &os; - Het goed kunnen optimaliseren een jail configuratie wordt + Het goed kunnen optimaliseren van een jail configuratie wordt veelal gedaan door het instellen van &man.sysctl.8; variabelen. Er bestaat een speciale subtak van sysctl voor het organiseren van alle relevante opties: de security.jail.* - hierarchie binnen de &os; kernel opties. Hieronder staat een + hierarchie binnen de &os; kernel. Hieronder staat een lijst van de belangrijkste jail-gerelateerde sysctl variabelen, - met informatie over de standaard waardes. De benaming zou + met informatie over de standaard waarden. De benaming zou zelf beschrijvend moeten zijn, maar voor meer informatie kunnen de &man.jail.8; en &man.sysctl.8; handleidingen geraadpleegd worden. @@ -552,7 +555,7 @@ Één van de grootste problemen met jails is het beheer van het upgrade proces. Dit is meestal een probleem omdat elke jail vanaf het begin af aan moet worden opgebouwd - wanneer het geupdate wordt. Meestal is dit voor een enkele jail + wanneer er geupdate wordt. Meestal is dit voor een enkele jail geen probleem, omdat het update proces redelijk simpel is, maar het kan een vervelende tijdrovende klus zijn als er meerdere jails zijn. @@ -563,18 +566,18 @@ te lastig lijken te zijn, wordt aangeraden om een simpeler systeem te bekijken zoals sysutils/ezjail, welke - een simpelere manier geeft voor het beheren van &os; jails - en welke niet zo complex is als deze opstelling. + een simpele manier geeft voor het beheren van &os; jails + en niet zo complex is als deze opstelling. - Dit idee werd geopperd om zulke problemen zoveel als + Het idee werd geopperd om zulke problemen zoveel als mogelijk te voorkomen door zoveel als mogelijk te delen tussen de verschillende jails op een zo veilig mogelijke manier — door gebruik te maken van alleen-lezen - &man.mount.nullfs.8; koppelingen, zodat het updaten simpeler wordt - en het inzetten van jails voor enkele diensten interessanter - wordt. Daarnaast geeft het een simpele manier om nieuwe - jails toe te voegen of te verwijderen en om deze te + &man.mount.nullfs.8; koppelingen, zodat het upgraden simpeler + wordt en het inzetten van jails voor enkele diensten + interessanter wordt. Daarnaast geeft het een simpele manier + om nieuwe jails toe te voegen of te verwijderen en om deze te upgraden. @@ -624,13 +627,13 @@ Zoals reeds besproken is dit ontwerp sterk afhankelijk van het hebben van een master-template, welke - alleen-lezen (beter bekend als nullfs) - gekoppeld is binnen elke jail, en een beschrijfbaar apparaat - per jail. Een apparaat kan hierin zijn een aparte fysieke - schijf, een partitie, of een door vnodes ondersteunde - &man.md.4; apparaat. In dit voorbeeld wordt gebruik gemaakt - van lezen-schrijven nullfs - koppelpunten. + alleen-lezen (beter bekend als + nullfs) gekoppeld is binnen elke + jail, en een beschrijfbaar apparaat per jail. Een apparaat + kan hierin zijn een aparte fysieke schijf, een partitie, of + een door vnodes ondersteunde &man.md.4; apparaat. In dit + voorbeeld wordt gebruik gemaakt van lezen-schrijven + nullfs koppelpunten. Het gebruikte bestandssysteem wordt beschreven door de volgende lijst: @@ -648,15 +651,16 @@ - Een lege directory zal voor elke jail gemaakt worden - onder de /home/j - directory. + Voor elke jail zal een lege directory structuur + gemaakt worden, welke valt onder de /home/j directory. Elke jail heeft een /s, wat gekoppeld zal worden - het beschrijfbare gedeelte van het systeem. + role="directory">/s directory, welke + gekoppeld zal worden aan het beschrijfbare gedeelte van + het systeem. @@ -673,40 +677,44 @@ - Dit gaat ervanuit dat de jails worden geplaatst in de - /home partitie. Deze - kan uiteraard aangepast worden, maar dan moeten de - voorbeelden hieronder ook worden aangepast. + De voorbeelden gaan er vanuit dat de jails geplaatst + worden in /home partitie. Dit kan + uiteraard aangepast worden, maar dan moeten de + voorbeelden hieronder ook worden aangepast naar de plek + die gebruikt zal worden. De template creeëren - Deze sectie zal beschrijven welke stappen er genomen moeten - worden om de master-template te maken. Deze zal het - alleen-lezen gedeelte vormen van de jails. + Deze sectie leert welke stappen er genomen moeten worden + om de master-template te maken. Deze zal het alleen-lezen + gedeelte vormen van de jails. Het is altijd een goed idee om ervoor te zorgen dat het &os; systeem de laatst beschikbare -RELEASE versie draait. Zie het corresponderende hoofdstuk in het Handboek - om dit voor elkaar te krijgen. In het geval dat het de moeite - niet is om te updaten, zal een buildworld nodig zijn voordat - er verder gegaan kan worden. Daarnaast is het sysutils/cpdup pakket benodigd. - We maken gebruik van de &man.portsnap.8; applicatie om de - &os; Ports Collectie te downloaden. Het handbook met het - hoofdstuk - over Portsnap, is altijd handig voor nieuwe gebruikers. + om te lezen hoe dit gedaan wordt. In het geval dat het de + moeite niet is om te updaten, zal een buildworld nodig zijn + voordat er verder gegaan kan worden. Daarnaast is het + sysutils/cpdup pakket + benodigd. Er wordt gebruik gemaakt van de&man.portsnap.8; + applicatie om de &os; Ports Collectie te downloaden. + Het handbook met het hoofdstuk + over Portsnap, is een aanrader voor nieuwe gebruikers. - Als eerste, creeër een directory structuur voor - het alleen-lezen bestandssysteem welke de &os; binaries - zal bevatten voor onze jails. Daarna wisselen we naar - de &os; broncode directory en installeren we het - alleen-lezen bestandssysteem in de jail template: + Als eerste moet er een directory structuur + gecreeërd worden voor het alleen-lezen + bestandssysteem, welke de &os; binaries zal bevatten + voor de jails. Daarna wordt het alleen-lezen + bestandssysteem geïnstalleerd vanuit de + &os; broncode directory in de jail template: &prompt.root; mkdir /home/j /home/j/mroot &prompt.root; cd /usr/src @@ -714,9 +722,9 @@ - Hierna bereiden we de &os; Ports Collectie voor op de - jails, en ook de &os; broncode directory, wat benodigd is - voor mergemaster: + Hierna moet de &os; Ports Collectie worden voorbereid, + evenals de &os; broncode directory, wat voor + mergemaster vereist is: &prompt.root; cd /home/j/mroot &prompt.root; mkdir usr/ports @@ -725,8 +733,9 @@ - Nu creeëren we een skelet voor het beschrijfbare - gedeelte van het systeem: + Nu moet er een skelet gecreeërd + worden voor het bechrijfbare gedeelte van het + systeem: &prompt.root; mkdir /home/j/skel /home/j/skel/home /home/j/skel/usr-X11R6 /home/j/skel/distfiles &prompt.root; mv etc /home/j/skel @@ -737,10 +746,12 @@ - Gebruik mergemaster om de - ontbrekende configuratie bestanden te installeren. Haal - daarna alle directories weg die gecreeërd zijn door - mergemaster: + De mergemaster applictie + moet gebruikt worden om de ontbrekende configuratie + bestanden te installeren. Erna moeten alle overtollige + directories die gecreeërd zijn door + mergemaster verwijderd + worden: &prompt.root; mergemaster -t /home/j/skel/var/tmp/temproot -D /home/j/skel -i &prompt.root; cd /home/j/skel @@ -752,9 +763,9 @@ het beschrijfbare bestandssysteem en het alleen-lezen bestandssysteem, zorg ervoor dat de links gemaakt worden in de juiste /s - directory. Als er echte directories worden gebruikt of - er worden directories op de verkeerde plek aangemaakt - resulteren in een gefaalde installatie. + directory. Als hier echte directories worden gemaakt + of de directories worden op de verkeerde plak aangemaakt + zal dit resulteren in een mislukte installatie: &prompt.root; cd /home/j/mroot &prompt.root; mkdir s @@ -787,7 +798,7 @@ - Jails creeëren + Jails creeëren Nu we een complete &os; template hebben, kunnen we de jails opzetten en configureren in @@ -810,17 +821,18 @@ /home/js/www /home/j/www/s nullfs rw 0 0 - Partities die gemarkeerd zijn met een 0 als passnummer - worden niet gecontroleerd door &man.fsck.8; tijdens het - opstarten, en partities met een dumpnummer van 0 worden - niet gebackupped door &man.dump.8;. We willen niet dat + Partities die gemarkeerd zijn met een 0 als + passnummer worden niet gecontroleerd + door &man.fsck.8; tijdens het opstarten, en partities + met een dumpnummer van 0 worden niet + gebackupped door &man.dump.8;. Het is niet gewenst dat fsck de nullfs koppelingen controleert of dat dump een backup maakt - van de alleen-lezen nullfs koppelingen van de jails. Daarom - zijn ze gemarkeerd met 0 0 in de laatste - twee colommen van elke fstab regel - hierboven. + van de alleen-lezen nullfs koppelingen van de jails. + Daarom worden ze gemarkeerd met 0 0 + in de laatste twee kolommen van elke + fstab regel hierboven. @@ -848,18 +860,20 @@ De reden dat de jail_name_rootdir variabele verwijst naar de /usr/home directory in plaats - van naar /home komt - doordat het fysieke pad van de /usr/home directory in + plaats van naar /home komt doordat het + fysieke pad van de /home directory op een standaard &os; installatie verwijst naar /usr/home. De jail_name_rootdir - variabele mag niet ingesteld worden op - een symbolische link, omdat dan de jail weigert te starten. - Gebruik het &man.realpath.1; programma om te zien welke - waarde ingesteld moet worden voor deze variabele. Zie de - &os;-SA-07:11.jail waarschuwing voor meer informatie. + variabele mag niet ingesteld + worden op een symbolische link, omdat dan de jail + weigert te starten. Gebruik het &man.realpath.1; + programma om te zien welke waarde ingesteld moet worden + voor deze variabele. Zie de &os;-SA-07:11.jail + waarschuwing voor meer informatie. @@ -874,7 +888,7 @@ Installeer de beschrijfbare template in elke jail. Let op het gebruik van sysutils/cpdup, wat helpt - om een goede copy te maken in elke directory: + om een goede kopie te maken in elke directory: &prompt.root; mkdir /home/js &prompt.root; cpdup /home/j/skel /home/js/ns @@ -911,7 +925,8 @@ configureren van daemons. De JID kolom geeft het identificatie nummer voor elke gestarte jail. Gebruik het volgende commando om administratieve commando's - uit te voeren in de jail met het JID 3: + uit te voeren in de jail met het JID + 3: &prompt.root; jexec 3 tcsh @@ -922,7 +937,7 @@ Naarmate de tijd verstrijkt komt de noodzaak om het systeem te updaten naar een nieuwere versie van &os;, danwel vanwege een veiligheids waarschuwing danwel vanwege - nieuwe mogelijkheden die geimplementeerd zijn en nuttig + nieuwe mogelijkheden die geïmplementeerd zijn en nuttig zijn voor de jails. Het ontwerp van deze opzet levert een makkelijke manier voor het upgraden van jails. Daarnaast minimaliseert het de down-time, omdat de jails @@ -944,9 +959,9 @@ &prompt.root; cpdup /usr/src usr/src &prompt.root; mkdir s - Het installworld creeërt - een aantal onnodige directories, welke verwijderd moeten - worden: + Het installworld doel + creeërt een aantal onnodige directories, welke + verwijderd moeten worden: &prompt.root; chflags -R 0 var &prompt.root; rm -R etc var root usr/local tmp @@ -992,11 +1007,11 @@ Verplaatst het oude alleen-lezen systeem en vervang - het door de nieuwe systeem. Dit dient als reservekopie - voor het geval er iets misgaat. De naamgevings conventie - die gebruikt wordt, is dezelfde als wanneer er een nieuw - systeem gemaakt wordt. Verplaats de &os; Ports Collectie - naar het nieuwe bestandssysteem om ruimte en inodes te + het door de nieuwe systeem. Het oude systeem dient als + reservekopie voor het geval er iets misgaat. De + naam moet het zelfde zijn als bij de installatie van het + nieuwe systeem. Verplaats de &os; Ports Collectie naar + het nieuwe bestandssysteem om ruimte en inodes te besparen: &prompt.root; cd /home/j @@ -1023,4 +1038,4 @@ - + From owner-p4-projects@FreeBSD.ORG Mon Aug 4 13:17:51 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C0CF11065677; Mon, 4 Aug 2008 13:17:51 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8402C106566C for ; Mon, 4 Aug 2008 13:17:51 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7544D8FC19 for ; Mon, 4 Aug 2008 13:17:51 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m74DHpW0054592 for ; Mon, 4 Aug 2008 13:17:51 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m74DHpoZ054590 for perforce@freebsd.org; Mon, 4 Aug 2008 13:17:51 GMT (envelope-from trasz@freebsd.org) Date: Mon, 4 Aug 2008 13:17:51 GMT Message-Id: <200808041317.m74DHpoZ054590@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 146619 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, 04 Aug 2008 13:17:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=146619 Change 146619 by trasz@trasz_traszkan on 2008/08/04 13:17:47 Get rid of VOP_GRANULAR. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/TODO#26 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#6 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_acl_nfs4.c#14 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_acl_posix1e.c#7 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_default.c#3 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_subr.c#8 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_vnops.c#3 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vnode_if.src#6 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/vnode.h#7 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ufs/ufs_acl.c#7 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ufs/ufs_lookup.c#10 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ufs/ufs_vnops.c#8 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/TODO#26 (text+ko) ==== @@ -2,6 +2,9 @@ - Make setfacl(1) error messages more user friendly. +- Correctly handle the situation in which we can stat, but cannot + read ACL, in ls(1). + - Decide what to do with write vs append on regular files. - Either add or extend existing manual pages for new API routines: @@ -12,8 +15,6 @@ - Add granular access control to ZFS. -- Get rid of the VOP_GRANULAR; merge its functionality back into VOP_ACCESS. - - Write code to do the same operations on UFS and ZFS and compare results. - Make 'struct acl' variable size. ==== //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#6 (text+ko) ==== @@ -3210,8 +3210,13 @@ struct thread *a_td; } */ *ap; { + int error; + vaccess_t mode = ap->a_mode; + + if (unixify_vaccess(&mode, &error)) + return (error); - return (zfs_access(ap->a_vp, ap->a_mode, 0, ap->a_cred)); + return (zfs_access(ap->a_vp, mode, 0, ap->a_cred)); } static int @@ -3600,7 +3605,7 @@ /* Mostly taken from common/syscall/acl.c. */ - error = VOP_ACCESS(ap->a_vp, VADMIN, ap->a_cred, ap->a_td); + error = VOP_ACCESS(ap->a_vp, VWRITE_ACL, ap->a_cred, ap->a_td); if (error != 0) return (error); ==== //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_acl_nfs4.c#14 (text+ko) ==== @@ -51,18 +51,35 @@ #endif #ifdef _KERNEL + +static struct { + vaccess_t mode; + int mask; +} mode2mask[] = {{VREAD, ACL_READ_DATA}, + {VWRITE, ACL_WRITE_DATA}, + {VAPPEND, ACL_APPEND_DATA}, + {VEXEC, ACL_EXECUTE}, + {VREAD_NAMED_ATTRS, ACL_READ_NAMED_ATTRS}, + {VWRITE_NAMED_ATTRS, ACL_WRITE_NAMED_ATTRS}, + {VDELETE_CHILD, ACL_DELETE_CHILD}, + {VREAD_ATTRIBUTES, ACL_READ_ATTRIBUTES}, + {VWRITE_ATTRIBUTES, ACL_WRITE_ATTRIBUTES}, + {VDELETE, ACL_DELETE}, + {VREAD_ACL, ACL_READ_ACL}, + {VWRITE_ACL, ACL_WRITE_ACL}, + {VWRITE_OWNER, ACL_WRITE_OWNER}, + {VSYNCHRONIZE, ACL_SYNCHRONIZE}, + {0, 0}}; + static int _access_mask_from_mode(vaccess_t mode) { - int access_mask = 0; + int access_mask = 0, i; - /* XXX: VSTAT? */ - - if (mode & VREAD) - access_mask |= ACL_READ_DATA; - - if (mode & VWRITE) - access_mask |= ACL_WRITE_DATA; + for (i = 0; mode2mask[i].mode != 0; i++) { + if (mode & mode2mask[i].mode) + access_mask |= mode2mask[i].mask; + } if (mode & VAPPEND) { /* @@ -72,13 +89,9 @@ * permission to write is not required to append, * permission to append is sufficient. */ - access_mask |= ACL_APPEND_DATA; access_mask &= ~ACL_WRITE_DATA; } - if (mode & VEXEC) - access_mask |= ACL_EXECUTE; - return (access_mask); } @@ -149,36 +162,19 @@ int vaccess_acl_nfs4(enum vtype type, uid_t file_uid, gid_t file_gid, - struct acl *aclp, vaccess_t acc_mode, int needed_bits, struct ucred *cred, - int *privused) + struct acl *aclp, vaccess_t acc_mode, struct ucred *cred, int *privused) { vaccess_t priv_granted = 0; - int denied, explicitly_denied, is_directory, must_be_owner = 0; + int denied, explicitly_denied, needed_bits, is_directory, + must_be_owner = 0; if (privused != NULL) *privused = 0; - if (acc_mode & VADMIN) { - /* - * XXX: This conditional will go away - * after removing VOP_GRANULAR> - */ - if (needed_bits == 0) { - must_be_owner = 1; - } else { - /* - * This is the case of - * VOP_GRANULAR(..., VADMIN, ACL_WRITE_OWNER, ...). - * In other words, we don't want actual VADMIN - * here, just one of the permissions typically - * reserved for file owner. - */ - must_be_owner = 0; - } - } + if (acc_mode & VADMIN) + must_be_owner = 1; - if (needed_bits == 0) - needed_bits = _access_mask_from_mode(acc_mode); + needed_bits = _access_mask_from_mode(acc_mode); if (type == VDIR) is_directory = 1; @@ -249,11 +245,14 @@ !priv_check_cred(cred, PRIV_VFS_WRITE, 0)) priv_granted |= (VWRITE | VAPPEND); - if ((acc_mode & VADMIN) && !priv_check_cred(cred, PRIV_VFS_ADMIN, 0)) - priv_granted |= VADMIN; + if ((acc_mode & VADMIN_PERMS) && !priv_check_cred(cred, PRIV_VFS_ADMIN, 0)) + priv_granted |= VADMIN_PERMS; - if ((acc_mode & VSTAT) && !priv_check_cred(cred, PRIV_VFS_READ, 0)) - priv_granted |= VSTAT; + /* + * XXX: PRIV_VFS_STAT? + */ + if ((acc_mode & VSTAT_PERMS) && !priv_check_cred(cred, PRIV_VFS_READ, 0)) + priv_granted |= VSTAT_PERMS; if ((acc_mode & priv_granted) == acc_mode) { if (privused != NULL) @@ -262,9 +261,7 @@ return (0); } - if ((acc_mode & VADMIN) || needed_bits & (ACL_DELETE_CHILD | - ACL_DELETE | ACL_WRITE_ATTRIBUTES | ACL_WRITE_ACL | - ACL_WRITE_OWNER)) + if (acc_mode & (VADMIN_PERMS | VDELETE_CHILD | VDELETE)) denied = EPERM; else denied = EACCES; ==== //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_acl_posix1e.c#7 (text+ko) ==== @@ -59,7 +59,7 @@ vaccess_t dac_granted; vaccess_t priv_granted; vaccess_t acl_mask_granted; - int group_matched, i; + int group_matched, i, error; /* * Look for a normal, non-privileged way to access the file/directory @@ -71,14 +71,8 @@ if (privused != NULL) *privused = 0; - if (acc_mode == VSTAT) - return (0); - - /* - * Unix does not provide any explicit "deny" access rules. - */ - if (acc_mode & VEXPLICIT_DENY) - return (0); + if (unixify_vaccess(&acc_mode, &error)) + return (error); /* * Determine privileges now, but don't apply until we've found a DAC ==== //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_default.c#3 (text+ko) ==== @@ -83,7 +83,6 @@ .vop_fsync = VOP_NULL, .vop_getpages = vop_stdgetpages, .vop_getwritemount = vop_stdgetwritemount, - .vop_granular = vop_stdgranular, .vop_inactive = VOP_NULL, .vop_ioctl = VOP_ENOTTY, .vop_kqfilter = vop_stdkqfilter, @@ -511,19 +510,6 @@ return (error); } -int -vop_stdgranular(ap) - struct vop_granular_args /* { - struct vnode *a_vp; - int a_mode; - int a_access_mask; - struct ucred *a_cred; - struct thread *a_td; - } */ *ap; -{ - return (VOP_ACCESS(ap->a_vp, ap->a_mode, ap->a_cred, ap->a_td)); -} - /* XXX Needs good comment and more info in the manpage (VOP_GETPAGES(9)). */ int vop_stdgetpages(ap) ==== //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_subr.c#8 (text+ko) ==== @@ -3445,6 +3445,7 @@ vaccess(enum vtype type, mode_t file_mode, uid_t file_uid, gid_t file_gid, vaccess_t acc_mode, struct ucred *cred, int *privused) { + int error; vaccess_t dac_granted; vaccess_t priv_granted; @@ -3458,15 +3459,9 @@ dac_granted = 0; - if (acc_mode == VSTAT) - return (0); + if (unixify_vaccess(&acc_mode, &error)) + return (error); - /* - * Unix does not provide any explicit "deny" access rules. - */ - if (acc_mode & VEXPLICIT_DENY) - return (0); - /* Check the owner. */ if (cred->cr_uid == file_uid) { dac_granted |= VADMIN; @@ -3579,11 +3574,9 @@ case EXTATTR_NAMESPACE_USER: #ifdef SunOS_doesnt_do_that if (access == VREAD) - return (VOP_GRANULAR(vp, access, ACL_READ_NAMED_ATTRS, - cred, td)); + return (VOP_ACCESS(vp, VREAD_NAMED_ATTRS, cred, td)); if (access == VWRITE) - return (VOP_GRANULAR(vp, access, ACL_WRITE_NAMED_ATTRS, - cred, td)); + return (VOP_ACCESS(vp, VWRITE_NAMED_ATTRS, cred, td)); #endif /* XXX: Is this possible for "access" to not be any of the two above? */ return (VOP_ACCESS(vp, access, cred, td)); @@ -4194,3 +4187,44 @@ (void)VOP_SETATTR(vp, &atimeattr, td->td_ucred, td); } } + +/* + * The purpose of this routine is to remove granularity from vaccess_t, + * reducing it into standard unix access bits. + * + * This routine is supposed to be called from the beginning of vaccess + * implementations that don't know anything about granularity. If it + * returns 1, then the caller is supposed to return whatever this routine + * puts into variable pointed to by "error". + */ +int +unixify_vaccess(vaccess_t *mode, int *error) +{ + /* + * Unix does not provide any explicit "deny" access rules. + */ + if (*mode & VEXPLICIT_DENY) { + *error = 0; + return (1); + } + + if (*mode & (VDELETE_CHILD | VDELETE)) { + *error = EPERM; + return (1); + } + + if (*mode & (VWRITE_NAMED_ATTRS | VWRITE_ATTRIBUTES | VWRITE_ACL | VWRITE_OWNER)) { + *mode &= ~(VWRITE_NAMED_ATTRS | VWRITE_ATTRIBUTES | VWRITE_ACL | VWRITE_OWNER); + *mode |= VADMIN; + } + + *mode &= ~(VREAD_NAMED_ATTRS | VREAD_ATTRIBUTES | VREAD_ACL | VSYNCHRONIZE); + + if (*mode == 0) { + *error = 0; + return (1); + } + + return (0); +} + ==== //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_vnops.c#3 (text+ko) ==== @@ -701,7 +701,7 @@ if (error) return (error); #endif - error = VOP_GRANULAR(vp, VSTAT, ACL_READ_ATTRIBUTES, active_cred, td); + error = VOP_ACCESS(vp, VREAD_ATTRIBUTES, active_cred, td); if (error) return (error); ==== //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vnode_if.src#6 (text+ko) ==== @@ -153,17 +153,6 @@ }; -%% granular vp L L L - -vop_granular { - IN struct vnode *vp; - IN vaccess_t mode; - IN int access_mask; - IN struct ucred *cred; - IN struct thread *td; -}; - - %% getattr vp L L L vop_getattr { ==== //depot/projects/soc2008/trasz_nfs4acl/sys/sys/vnode.h#7 (text+ko) ==== @@ -312,17 +312,29 @@ /* * Modes. Some values same as Ixxx entries from inode.h for now. */ -#define VEXEC 0000100 /* execute/search permission */ -#define VWRITE 0000200 /* write permission */ -#define VREAD 0000400 /* read permission */ -#define VSVTX 0001000 /* save swapped text even after use */ -#define VSGID 0002000 /* set group id on execution */ -#define VSUID 0004000 /* set user id on execution */ -#define VADMIN 0010000 /* permission to administer */ -#define VSTAT 0020000 /* permission to retrieve attrs */ -#define VAPPEND 0040000 /* permission to write/append */ -#define VEXPLICIT_DENY 0100000 /* return EPERM only if permission was denied explicitly */ +#define VEXEC 000000000100 /* execute/search permission */ +#define VWRITE 000000000200 /* write permission */ +#define VREAD 000000000400 /* read permission */ +#define VSVTX 000000001000 /* save swapped text even after use */ +#define VSGID 000000002000 /* set group id on execution */ +#define VSUID 000000004000 /* set user id on execution */ +#define VADMIN 000000010000 /* permission to administer */ +#define VSTAT 000000020000 /* permission to retrieve attrs */ +#define VAPPEND 000000040000 /* permission to write/append */ +#define VEXPLICIT_DENY 000000100000 /* return EPERM only if permission was denied explicitly */ +#define VREAD_NAMED_ATTRS 000000200000 +#define VWRITE_NAMED_ATTRS 000000400000 +#define VDELETE_CHILD 000001000000 +#define VREAD_ATTRIBUTES 000002000000 +#define VWRITE_ATTRIBUTES 000004000000 +#define VDELETE 000010000000 +#define VREAD_ACL 000020000000 +#define VWRITE_ACL 000040000000 +#define VWRITE_OWNER 000100000000 +#define VSYNCHRONIZE 000200000000 #define VALLPERM (VEXEC | VWRITE | VREAD | VADMIN | VSTAT | VAPPEND) +#define VADMIN_PERMS (VADMIN | VWRITE_NAMED_ATTRS | VWRITE_ATTRIBUTES | VWRITE_ACL | VWRITE_OWNER) +#define VSTAT_PERMS (VSTAT | VREAD_NAMED_ATTRS | VREAD_ATTRIBUTES | VREAD_ACL | VSYNCHRONIZE) /* * Token indicating no attribute value yet assigned. @@ -596,7 +608,8 @@ struct ucred *cred, int *privused); int vaccess_acl_nfs4(enum vtype type, uid_t file_uid, gid_t file_gid, struct acl *acl, vaccess_t acc_mode, - int access_mask, struct ucred *cred, int *privused); + struct ucred *cred, int *privused); +int unixify_vaccess(vaccess_t *mode, int *error); void vattr_null(struct vattr *vap); int vcount(struct vnode *vp); void vdrop(struct vnode *); @@ -653,7 +666,6 @@ int vop_stdbmap(struct vop_bmap_args *); int vop_stdfsync(struct vop_fsync_args *); int vop_stdgetwritemount(struct vop_getwritemount_args *); -int vop_stdgranular(struct vop_granular_args *); int vop_stdgetpages(struct vop_getpages_args *); int vop_stdinactive(struct vop_inactive_args *); int vop_stdislocked(struct vop_islocked_args *); ==== //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ufs/ufs_acl.c#7 (text+ko) ==== @@ -380,7 +380,7 @@ /* * Must hold VADMIN (be file owner) or have appropriate privilege. */ - if ((error = VOP_GRANULAR(ap->a_vp, VADMIN, ACL_WRITE_ACL, ap->a_cred, ap->a_td))) + if ((error = VOP_ACCESS(ap->a_vp, VWRITE_ACL, ap->a_cred, ap->a_td))) return (error); if (acl_nfs4_is_trivial(ap->a_aclp)) { ==== //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ufs/ufs_lookup.c#10 (text+ko) ==== @@ -93,20 +93,19 @@ /* * XXX: Is this check required? */ - error = VOP_GRANULAR(vdp, VEXEC, ACL_EXECUTE, cred, td); + error = VOP_ACCESS(vdp, VEXEC, cred, td); if (error) return (error); - error = VOP_GRANULAR(tdp, VADMIN, ACL_DELETE, cred, td); + error = VOP_ACCESS(tdp, VDELETE, cred, td); if (error == 0) return (0); - error = VOP_GRANULAR(vdp, VADMIN, ACL_DELETE_CHILD, cred, td); + error = VOP_ACCESS(vdp, VDELETE_CHILD, cred, td); if (error == 0) return (0); - error = VOP_GRANULAR(vdp, VADMIN | VEXPLICIT_DENY, - ACL_DELETE_CHILD, cred, td); + error = VOP_ACCESS(vdp, VEXPLICIT_DENY | VDELETE_CHILD, cred, td); if (error) return (error); @@ -115,7 +114,7 @@ /* * Standard Unix access control - delete access requires VWRITE. */ - error = VOP_GRANULAR(vdp, VWRITE, ACL_WRITE_DATA, cred, td); + error = VOP_ACCESS(vdp, VWRITE, cred, td); if (error) return (error); @@ -466,9 +465,9 @@ * XXX: Fix the comment above. */ if (flags & WILLBEDIR) - error = VOP_GRANULAR(vdp, VWRITE, ACL_APPEND_DATA, cred, cnp->cn_thread); + error = VOP_ACCESS(vdp, VAPPEND, cred, cnp->cn_thread); else - error = VOP_GRANULAR(vdp, VWRITE, ACL_WRITE_DATA, cred, cnp->cn_thread); + error = VOP_ACCESS(vdp, VWRITE, cred, cnp->cn_thread); if (error) return (error); /* @@ -590,11 +589,9 @@ */ if (nameiop == RENAME && (flags & ISLASTCN)) { if (flags & WILLBEDIR) - error = VOP_GRANULAR(vdp, VWRITE, ACL_APPEND_DATA, - cred, cnp->cn_thread); + error = VOP_ACCESS(vdp, VAPPEND, cred, cnp->cn_thread); else - error = VOP_GRANULAR(vdp, VWRITE, ACL_WRITE_DATA, - cred, cnp->cn_thread); + error = VOP_ACCESS(vdp, VWRITE, cred, cnp->cn_thread); if (error) return (error); /* @@ -613,16 +610,14 @@ * error. Assume that we want to rename directory "a" * to a file "b", and that we have no ACL_WRITE_DATA on * a containing directory, but we _do_ have ACL_APPEND_DATA. - * In that case, the VOP_GRANULAR check above will return 0, + * In that case, the VOP_ACCESS check above will return 0, * and the operation will fail with ENOTDIR instead * of EACCESS. */ if (tdp->v_type == VDIR) - error = VOP_GRANULAR(vdp, VWRITE, ACL_APPEND_DATA, - cred, cnp->cn_thread); + error = VOP_ACCESS(vdp, VAPPEND, cred, cnp->cn_thread); else - error = VOP_GRANULAR(vdp, VWRITE, ACL_WRITE_DATA, - cred, cnp->cn_thread); + error = VOP_ACCESS(vdp, VWRITE, cred, cnp->cn_thread); if (error) { vput(tdp); return (error); ==== //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ufs/ufs_vnops.c#8 (text+ko) ==== @@ -96,7 +96,6 @@ static vop_close_t ufs_close; static vop_create_t ufs_create; static vop_getattr_t ufs_getattr; -static vop_granular_t ufs_granular; static vop_link_t ufs_link; static int ufs_makeinode(int mode, struct vnode *, struct vnode **, struct componentname *); static vop_mkdir_t ufs_mkdir; @@ -299,11 +298,10 @@ } static int -ufs_granular(ap) - struct vop_granular_args /* { +ufs_access(ap) + struct vop_access_args /* { struct vnode *a_vp; vaccess_t a_mode; - int a_access_mask; struct ucred *a_cred; struct thread *a_td; } */ *ap; @@ -357,8 +355,7 @@ case 0: if (type == ACL_TYPE_NFS4) { error = vaccess_acl_nfs4(vp->v_type, ip->i_uid, - ip->i_gid, acl, ap->a_mode, - ap->a_access_mask, ap->a_cred, NULL); + ip->i_gid, acl, ap->a_mode, ap->a_cred, NULL); } else { error = vaccess_acl_posix1e(vp->v_type, ip->i_uid, ip->i_gid, acl, ap->a_mode, ap->a_cred, NULL); @@ -384,18 +381,6 @@ return (error); } -static int -ufs_access(ap) - struct vop_access_args /* { - struct vnode *a_vp; - vaccess_t a_mode; - struct ucred *a_cred; - struct thread *a_td; - } */ *ap; -{ - return (VOP_GRANULAR(ap->a_vp, ap->a_mode, 0, ap->a_cred, ap->a_td)); -} - /* ARGSUSED */ static int ufs_getattr(ap) @@ -622,15 +607,11 @@ * * XXX: Calling it four times seems a little excessive. */ - error = VOP_GRANULAR(vp, VADMIN, ACL_WRITE_DATA, cred, td); + error = VOP_ACCESS(vp, VWRITE_ATTRIBUTES, cred, td); if (error) - error = VOP_GRANULAR(vp, VADMIN, ACL_WRITE_ATTRIBUTES, cred, td); - if (error) - error = VOP_GRANULAR(vp, VWRITE, ACL_WRITE_DATA, cred, td); - if (error) - error = VOP_GRANULAR(vp, VWRITE, ACL_WRITE_ATTRIBUTES, cred, td); + error = VOP_ACCESS(vp, VWRITE, cred, td); } else - error = VOP_GRANULAR(vp, VADMIN, ACL_WRITE_ATTRIBUTES, cred, td); + error = VOP_ACCESS(vp, VWRITE_ATTRIBUTES, cred, td); if (error) return (error); if (vap->va_atime.tv_sec != VNOVAL) @@ -719,7 +700,7 @@ * To modify the permissions on a file, must possess VADMIN * for that file. */ - if ((error = VOP_GRANULAR(vp, VADMIN, ACL_WRITE_ACL, cred, td))) + if ((error = VOP_ACCESS(vp, VWRITE_ACL, cred, td))) return (error); /* * Privileged processes may set the sticky bit on non-directories, @@ -776,7 +757,7 @@ * To modify the ownership of a file, must possess VADMIN for that * file. */ - if ((error = VOP_GRANULAR(vp, VADMIN, ACL_WRITE_OWNER, cred, td))) + if ((error = VOP_ACCESS(vp, VWRITE_OWNER, cred, td))) return (error); /* * To change the owner of a file, or change the group of a file to a @@ -2566,7 +2547,6 @@ .vop_close = ufs_close, .vop_create = ufs_create, .vop_getattr = ufs_getattr, - .vop_granular = ufs_granular, .vop_inactive = ufs_inactive, .vop_link = ufs_link, .vop_lookup = vfs_cache_lookup, @@ -2607,7 +2587,6 @@ .vop_access = ufs_access, .vop_close = ufsfifo_close, .vop_getattr = ufs_getattr, - .vop_granular = ufs_granular, .vop_inactive = ufs_inactive, .vop_kqfilter = ufsfifo_kqfilter, .vop_print = ufs_print, From owner-p4-projects@FreeBSD.ORG Mon Aug 4 13:41:15 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7B2281065678; Mon, 4 Aug 2008 13:41:15 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3E9501065676 for ; Mon, 4 Aug 2008 13:41:15 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 318428FC25 for ; Mon, 4 Aug 2008 13:41:15 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m74DfFxm056726 for ; Mon, 4 Aug 2008 13:41:15 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m74DfFV8056724 for perforce@freebsd.org; Mon, 4 Aug 2008 13:41:15 GMT (envelope-from trasz@freebsd.org) Date: Mon, 4 Aug 2008 13:41:15 GMT Message-Id: <200808041341.m74DfFV8056724@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 146620 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, 04 Aug 2008 13:41:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=146620 Change 146620 by trasz@trasz_traszkan on 2008/08/04 13:40:37 Add check for ACL_READ_ACL, which apparently got lost somewhere. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/TODO#27 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_acl.c#6 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/TODO#27 (text+ko) ==== @@ -5,6 +5,10 @@ - Correctly handle the situation in which we can stat, but cannot read ACL, in ls(1). +- Clean up #defines. For example, make VREAD_NAMED_ATTRS equal + to ACL_READ_NAMED_ATTRS, so there is no need for translation + between the two in kern/subr_acl_nfs4.c. + - Decide what to do with write vs append on regular files. - Either add or extend existing manual pages for new API routines: ==== //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_acl.c#6 (text+ko) ==== @@ -241,11 +241,14 @@ if (error != 0) goto out; #endif + error = VOP_ACCESS(vp, VREAD_ACL, td->td_ucred, td); + if (error != 0) + goto out; + error = VOP_GETACL(vp, type_unold(type), &inkernelacl, td->td_ucred, td); -#ifdef MAC + out: -#endif VOP_UNLOCK(vp, 0); if (error == 0) error = copyout_acl(&inkernelacl, aclp, type); From owner-p4-projects@FreeBSD.ORG Mon Aug 4 14:09:44 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 765211065672; Mon, 4 Aug 2008 14:09:44 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3A573106566C for ; Mon, 4 Aug 2008 14:09:44 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2D6308FC14 for ; Mon, 4 Aug 2008 14:09:44 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m74E9iX2059955 for ; Mon, 4 Aug 2008 14:09:44 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m74E9i2i059953 for perforce@freebsd.org; Mon, 4 Aug 2008 14:09:44 GMT (envelope-from trasz@freebsd.org) Date: Mon, 4 Aug 2008 14:09:44 GMT Message-Id: <200808041409.m74E9i2i059953@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 146622 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, 04 Aug 2008 14:09:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=146622 Change 146622 by trasz@trasz_traszkan on 2008/08/04 14:09:33 If ls(1) cannot read ACL due to EACCES or EPERM, then there is obviously some ACL denying it. Mark file with "+" in that case. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/TODO#28 edit .. //depot/projects/soc2008/trasz_nfs4acl/bin/ls/print.c#3 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/TODO#28 (text+ko) ==== @@ -2,9 +2,6 @@ - Make setfacl(1) error messages more user friendly. -- Correctly handle the situation in which we can stat, but cannot - read ACL, in ls(1). - - Clean up #defines. For example, make VREAD_NAMED_ATTRS equal to ACL_READ_NAMED_ATTRS, so there is no need for translation between the two in kern/subr_acl_nfs4.c. ==== //depot/projects/soc2008/trasz_nfs4acl/bin/ls/print.c#3 (text+ko) ==== @@ -666,6 +666,14 @@ buf[10] = '+'; acl_free(facl); - } else + } else { + /* + * We were denied access. So, obviously, there + * is some ACL denying READ_ACL there. + */ + if (errno == EPERM || errno == EACCES) + buf[10] = '+'; + warn("%s", name); + } } From owner-p4-projects@FreeBSD.ORG Mon Aug 4 14:11:50 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 198A21065674; Mon, 4 Aug 2008 14:11:50 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D2ACB1065672 for ; Mon, 4 Aug 2008 14:11:49 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C61ED8FC14 for ; Mon, 4 Aug 2008 14:11:49 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m74EBm6Q060189 for ; Mon, 4 Aug 2008 14:11:48 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m74EBk4g060187 for perforce@freebsd.org; Mon, 4 Aug 2008 14:11:46 GMT (envelope-from ed@FreeBSD.org) Date: Mon, 4 Aug 2008 14:11:46 GMT Message-Id: <200808041411.m74EBk4g060187@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 146623 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, 04 Aug 2008 14:11:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=146623 Change 146623 by ed@ed_flippo on 2008/08/04 14:10:50 Don't enter the zombie state when the device isn't opened. Affected files ... .. //depot/projects/mpsafetty/sys/kern/tty_ttydisc.c#5 edit Differences ... ==== //depot/projects/mpsafetty/sys/kern/tty_ttydisc.c#5 (text+ko) ==== @@ -559,8 +559,13 @@ if (open) cv_broadcast(&tp->t_dcdwait); - /* Ignore modem status lines */ - if (CMP_FLAG(c, CLOCAL)) + /* + * Ignore modem status lines when CLOCAL is turned on, but don't + * enter the zombie state when the TTY isn't opened, because + * that would cause the TTY to be in zombie state after being + * opened. + */ + if (!tty_opened(tp) || CMP_FLAG(c, CLOCAL)) return; if (open == 0) { From owner-p4-projects@FreeBSD.ORG Mon Aug 4 14:32:11 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F130C1065689; Mon, 4 Aug 2008 14:32:10 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B4846106568C for ; Mon, 4 Aug 2008 14:32:10 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A73D48FC15 for ; Mon, 4 Aug 2008 14:32:10 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m74EWA0l062100 for ; Mon, 4 Aug 2008 14:32:10 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m74EWAwu062098 for perforce@freebsd.org; Mon, 4 Aug 2008 14:32:10 GMT (envelope-from ed@FreeBSD.org) Date: Mon, 4 Aug 2008 14:32:10 GMT Message-Id: <200808041432.m74EWAwu062098@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 146624 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, 04 Aug 2008 14:32:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=146624 Change 146624 by ed@ed_flippo on 2008/08/04 14:31:46 The POSIX onlinepubs stated: Any subsequent read from the terminal device shall return the value of zero, indicating end-of-file; see read(). The current TTY code already did this, but only after the read() was started after switching to the zombie state. Move the zombie state handling just before going to sleep. Affected files ... .. //depot/projects/mpsafetty/sys/kern/tty_ttydisc.c#6 edit Differences ... ==== //depot/projects/mpsafetty/sys/kern/tty_ttydisc.c#6 (text+ko) ==== @@ -146,6 +146,8 @@ if (clen == 0) { if (ioflag & IO_NDELAY) return (EWOULDBLOCK); + else if (tp->t_flags & TF_ZOMBIE) + return (0); error = tty_wait(tp, &tp->t_inwait); if (error) @@ -195,6 +197,9 @@ /* We have to wait for more */ if (ioflag & IO_NDELAY) return (EWOULDBLOCK); + else if (tp->t_flags & TF_ZOMBIE) + return (0); + error = tty_wait(tp, &tp->t_inwait); if (error) return (error); @@ -202,7 +207,8 @@ } static int -ttydisc_read_raw_read_timer(struct tty *tp, struct uio *uio, int ioflag, int oresid) +ttydisc_read_raw_read_timer(struct tty *tp, struct uio *uio, int ioflag, + int oresid) { size_t vmin = MAX(tp->t_termios.c_cc[VMIN], 1); unsigned int vtime = tp->t_termios.c_cc[VTIME]; @@ -239,12 +245,12 @@ */ if (ioflag & IO_NDELAY) return (EWOULDBLOCK); + else if (tp->t_flags & TF_ZOMBIE) + return (0); + error = tty_timedwait(tp, &tp->t_inwait, hz); - if (error == EWOULDBLOCK) { - return (0); - } else if (error) { + if (error) return (error); - } } return (0); @@ -284,6 +290,9 @@ /* We have to wait for more */ if (ioflag & IO_NDELAY) return (EWOULDBLOCK); + else if (tp->t_flags & TF_ZOMBIE) + return (0); + error = tty_wait(tp, &tp->t_inwait); if (error) return (error); @@ -300,7 +309,7 @@ tty_lock_assert(tp, MA_OWNED); - if (uio->uio_resid == 0 || tp->t_flags & TF_ZOMBIE) + if (uio->uio_resid == 0) return (0); if (CMP_FLAG(l, ICANON)) @@ -308,7 +317,8 @@ else if (tp->t_termios.c_cc[VTIME] == 0) error = ttydisc_read_raw_no_timer(tp, uio, ioflag); else if (tp->t_termios.c_cc[VMIN] == 0) - error = ttydisc_read_raw_read_timer(tp, uio, ioflag, uio->uio_resid); + error = ttydisc_read_raw_read_timer(tp, uio, ioflag, + uio->uio_resid); else error = ttydisc_read_raw_interbyte_timer(tp, uio, ioflag); From owner-p4-projects@FreeBSD.ORG Mon Aug 4 14:47:27 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AF59B1065675; Mon, 4 Aug 2008 14:47:26 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 72FE41065671 for ; Mon, 4 Aug 2008 14:47:26 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 65D2D8FC16 for ; Mon, 4 Aug 2008 14:47:26 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m74ElQlV063431 for ; Mon, 4 Aug 2008 14:47:26 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m74ElQ0f063429 for perforce@freebsd.org; Mon, 4 Aug 2008 14:47:26 GMT (envelope-from trasz@freebsd.org) Date: Mon, 4 Aug 2008 14:47:26 GMT Message-Id: <200808041447.m74ElQ0f063429@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 146628 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, 04 Aug 2008 14:47:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=146628 Change 146628 by trasz@trasz_traszkan on 2008/08/04 14:47:26 Make setfacl(1) report useful error when there is branding mismatch. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/merge.c#6 edit .. //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/remove.c#4 edit .. //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/setfacl.c#6 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/Symbol.map#6 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_branding.c#5 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/acl.h#15 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/merge.c#6 (text+ko) ==== @@ -94,6 +94,18 @@ acl_extended_t extended, extended_new; acl_flagset_t flagset; int entry_id, entry_id_new, have_entry, entry_number = 0; + int acl_brand, prev_acl_brand; + + acl_get_brand_np(acl, &acl_brand); + acl_get_brand_np(prev_acl[0], &prev_acl_brand); + + if (acl_brand != prev_acl_brand) { + warnx("branding mismatch; existing ACL is %s, " + "entry to be merged is %s", + prev_acl_brand == ACL_BRAND_NFS4 ? "NFS4" : "POSIX", + acl_brand == ACL_BRAND_NFS4 ? "NFS4" : "POSIX"); + return (-1); + } if (acl_type == ACL_TYPE_ACCESS || acl_type == ACL_TYPE_NFS4) acl_new = acl_dup(prev_acl[ACCESS_ACL]); @@ -226,13 +238,22 @@ { acl_entry_t entry, entry_new; acl_t acl_new; - int entry_id; + int entry_id, acl_brand; if (acl_type != ACL_TYPE_NFS4) { warnx("The '-a' option is only applicable to NFS4 ACLs"); return (-1); } + acl_get_brand_np(acl, &acl_brand); + + if (acl_brand != ACL_BRAND_NFS4) { + warnx("branding mismatch; existing ACL is %s, " + "entry to be added is NFS4", + acl_brand == ACL_BRAND_NFS4 ? "NFS4" : "POSIX"); + return (-1); + } + acl_new = acl_dup(prev_acl[ACCESS_ACL]); if (acl_new == NULL) err(1, "acl_dup() failed"); ==== //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/remove.c#4 (text+ko) ==== @@ -46,7 +46,20 @@ acl_entry_t entry; acl_t acl_new; acl_tag_t tag; - int carried_error, entry_id; + int carried_error, entry_id, acl_brand, prev_acl_brand; + + carried_error = 0; + + acl_get_brand_np(acl, &acl_brand); + acl_get_brand_np(prev_acl[0], &prev_acl_brand); + + if (acl_brand != prev_acl_brand) { + warnx("branding mismatch; existing ACL is %s, " + "entry to be removed is %s", + prev_acl_brand == ACL_BRAND_NFS4 ? "NFS4" : "POSIX", + acl_brand == ACL_BRAND_NFS4 ? "NFS4" : "POSIX"); + return (-1); + } carried_error = 0; ==== //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/setfacl.c#6 (text+ko) ==== @@ -238,7 +238,10 @@ if (acl == NULL) continue; if ((acl_type == ACL_TYPE_DEFAULT) && !acl[1]) { - warnx("Default ACL not valid for %s", file->filename); + if (pathconf(file->filename, _PC_EXTENDED_SECURITY_NP)) + warnx("there are no default entries in NFS4 ACLs: %s", file->filename); + else + warnx("default ACL not valid for %s", file->filename); continue; } @@ -267,6 +270,11 @@ need_mask = 0; break; case OP_REMOVE_DEF: + if (acl_type == ACL_TYPE_NFS4) { + warnx("there are no default entries in NFS4 ACLs; cannot remove"); + local_error++; + break; + } if (acl_delete_def_file(file->filename) == -1) { warn("acl_delete_def_file() failed"); local_error++; ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/Symbol.map#6 (text) ==== @@ -16,6 +16,7 @@ acl_delete_entry_np; acl_create_entry; acl_create_entry_np; + acl_get_brand_np; acl_get_entry; acl_free; acl_from_text; ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_branding.c#5 (text+ko) ==== @@ -26,6 +26,7 @@ */ #include +#include #include #include "acl_support.h" @@ -158,3 +159,16 @@ } } +int +acl_get_brand_np(acl_t acl, int *brand_p) +{ + if (acl == NULL || brand_p == NULL) { + errno = EINVAL; + return (-1); + } + + *brand_p = _acl_brand(acl); + + return (0); +} + ==== //depot/projects/soc2008/trasz_nfs4acl/sys/sys/acl.h#15 (text+ko) ==== @@ -327,6 +327,7 @@ acl_t acl_dup(acl_t _acl); int acl_free(void *_obj_p); acl_t acl_from_text(const char *_buf_p); +int acl_get_brand_np(acl_t _acl, int *_brand_p); int acl_get_entry(acl_t _acl, int _entry_id, acl_entry_t *_entry_p); acl_t acl_get_fd(int _fd); acl_t acl_get_fd_np(int fd, acl_type_t _type); From owner-p4-projects@FreeBSD.ORG Mon Aug 4 15:01:46 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 85938106566B; Mon, 4 Aug 2008 15:01:46 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4961C1065675 for ; Mon, 4 Aug 2008 15:01:46 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3CF348FC15 for ; Mon, 4 Aug 2008 15:01:46 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m74F1kOd064725 for ; Mon, 4 Aug 2008 15:01:46 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m74F1kDL064723 for perforce@freebsd.org; Mon, 4 Aug 2008 15:01:46 GMT (envelope-from ed@FreeBSD.org) Date: Mon, 4 Aug 2008 15:01:46 GMT Message-Id: <200808041501.m74F1kDL064723@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 146630 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, 04 Aug 2008 15:01:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=146630 Change 146630 by ed@ed_flippo on 2008/08/04 15:01:14 Revert a bug I introduced in my previous commit: When the timers are turned on, we should return the amount of bytes read instead of an error when the timer expires. While there, also fix the zombie-case on writes. According to POSIX, we should return EIO. Affected files ... .. //depot/projects/mpsafetty/sys/kern/tty_ttydisc.c#7 edit Differences ... ==== //depot/projects/mpsafetty/sys/kern/tty_ttydisc.c#7 (text+ko) ==== @@ -250,7 +250,7 @@ error = tty_timedwait(tp, &tp->t_inwait, hz); if (error) - return (error); + return (error == EWOULDBLOCK ? 0 : error); } return (0); @@ -441,6 +441,9 @@ tty_lock_assert(tp, MA_OWNED); + if (tp->t_flags & TF_ZOMBIE) + return (EIO); + /* * We don't need to check whether the process is the foreground * process group or if we have a carrier. This is already done @@ -529,6 +532,11 @@ error = tty_wait(tp, &tp->t_outwait); if (error) goto done; + + if (tp->t_flags & TF_ZOMBIE) { + error = EIO; + goto done; + } } while (oblen > 0); } From owner-p4-projects@FreeBSD.ORG Mon Aug 4 15:02:48 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ADDC51065671; Mon, 4 Aug 2008 15:02:47 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 71DED106566C for ; Mon, 4 Aug 2008 15:02:47 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6567A8FC08 for ; Mon, 4 Aug 2008 15:02:47 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m74F2lNf064887 for ; Mon, 4 Aug 2008 15:02:47 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m74F2lI8064885 for perforce@freebsd.org; Mon, 4 Aug 2008 15:02:47 GMT (envelope-from ed@FreeBSD.org) Date: Mon, 4 Aug 2008 15:02:47 GMT Message-Id: <200808041502.m74F2lI8064885@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 146631 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, 04 Aug 2008 15:02:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=146631 Change 146631 by ed@ed_flippo on 2008/08/04 15:02:26 Move the buffer deallocation into tty_freebuffers(), which shall be called when closing and deallocating the TTY. Affected files ... .. //depot/projects/mpsafetty/sys/kern/tty.c#14 edit Differences ... ==== //depot/projects/mpsafetty/sys/kern/tty.c#14 (text+ko) ==== @@ -112,6 +112,23 @@ tp->t_outlow = (ttyoutq_getsize(&tp->t_outq) * 9) / 10; } +static void +tty_freebuffers(struct tty *tp) +{ + + /* Destroy input buffers */ + ttyinq_flush(&tp->t_inq); + ttyinq_setsize(&tp->t_inq, NULL, 0); + MPASS(ttyinq_getsize(&tp->t_inq) == 0); + tp->t_inlow = 0; + + /* Destroy output buffers */ + ttyoutq_flush(&tp->t_outq); + ttyoutq_setsize(&tp->t_outq, NULL, 0); + MPASS(ttyoutq_getsize(&tp->t_outq) == 0); + tp->t_outlow = 0; +} + static int tty_drain(struct tty *tp) { @@ -186,10 +203,7 @@ ttydisc_close(tp); /* Destroy associated buffers already */ - ttyinq_setsize(&tp->t_inq, NULL, 0); - tp->t_inlow = 0; - ttyoutq_setsize(&tp->t_outq, NULL, 0); - tp->t_outlow = 0; + tty_freebuffers(tp); knlist_clear(&tp->t_inpoll.si_note, 1); knlist_clear(&tp->t_outpoll.si_note, 1); @@ -923,9 +937,7 @@ return; } - /* Make sure we don't leak buffers */ - MPASS(ttyinq_getsize(&tp->t_inq) == 0); - MPASS(ttyoutq_getsize(&tp->t_outq) == 0); + tty_freebuffers(tp); /* TTY can be deallocated */ dev = tp->t_dev; @@ -961,6 +973,7 @@ void tty_rel_gone(struct tty *tp) { + MPASS((tp->t_flags & TF_GONE) == 0); /* Simulate carrier removal */ ttydisc_modem(tp, 0); From owner-p4-projects@FreeBSD.ORG Mon Aug 4 15:49:38 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 62F6A1065691; Mon, 4 Aug 2008 15:49:38 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0C0ED1065683 for ; Mon, 4 Aug 2008 15:49:38 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F1E478FC08 for ; Mon, 4 Aug 2008 15:49:37 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m74FnbAg069663 for ; Mon, 4 Aug 2008 15:49:37 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m74FnbVH069661 for perforce@freebsd.org; Mon, 4 Aug 2008 15:49:37 GMT (envelope-from hselasky@FreeBSD.org) Date: Mon, 4 Aug 2008 15:49:37 GMT Message-Id: <200808041549.m74FnbVH069661@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 146633 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, 04 Aug 2008 15:49:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=146633 Change 146633 by hselasky@hselasky_laptop001 on 2008/08/04 15:49:33 Various changes to support more compilers and to allow easier porting of the code to other platforms. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/controller/musb2_otg.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/ohci2.c#6 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_compat_linux.h#4 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_config_td.c#5 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_core.h#13 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_dev.c#19 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.c#16 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.h#6 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_handle_request.c#5 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_hid.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_hid.h#5 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_hub.c#13 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_process.h#2 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_request.c#11 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_transfer.c#15 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_util.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_util.h#3 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/controller/musb2_otg.c#2 (text+ko) ==== @@ -1305,7 +1305,7 @@ static void musbotg_device_done(struct usb2_xfer *xfer, usb2_error_t error) { - mtx_assert(&sc->sc_bus.mtx, MA_OWNED); + mtx_assert(xfer->usb2_mtx, MA_OWNED); DPRINTFN(2, "xfer=%p, pipe=%p, error=%d\n", xfer, xfer->pipe, error); ==== //depot/projects/usb/src/sys/dev/usb2/controller/ohci2.c#6 (text+ko) ==== @@ -629,7 +629,7 @@ le32toh(sitd->itd_be)); for (i = 0; i < OHCI_ITD_NOFFSET; i++) { printf("offs[%d]=0x%04x ", i, - (u_int)le16toh(sitd->itd_offset[i])); + (uint32_t)le16toh(sitd->itd_offset[i])); } printf("\n"); ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_compat_linux.h#4 (text+ko) ==== @@ -429,7 +429,7 @@ uint8_t transfer_dma; /* (in) not used on FreeBSD */ uint8_t bsd_isread; - struct usb_iso_packet_descriptor iso_frame_desc[0]; /* (in) ISO ONLY */ + struct usb_iso_packet_descriptor iso_frame_desc[]; /* (in) ISO ONLY */ }; /* various prototypes */ ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_config_td.c#5 (text+ko) ==== @@ -261,15 +261,19 @@ } if (timeout == 0) { /* - * zero means no timeout, so avoid that by setting + * Zero means no timeout, so avoid that by setting * timeout to one: */ timeout = 1; } - if (mtx_sleep(ctd, ctd->usb2_proc.up_mtx, 0, - "DELAY", timeout)) { + mtx_unlock(ctd->usb2_proc.up_mtx); + + if (pause("USBWAIT", timeout)) { /* ignore */ } + mtx_lock(ctd->usb2_proc.up_mtx); + + is_gone = usb2_config_td_is_gone(ctd); done: return (is_gone); } ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_core.h#13 (text+ko) ==== @@ -31,6 +31,18 @@ #ifndef _USB2_CORE_H_ #define _USB2_CORE_H_ +/* Default USB configuration */ + +#ifndef USB_NO_POLL +#define USB_NO_POLL 0 +#endif + +#ifndef USB_USE_CONDVAR +#define USB_USE_CONDVAR 0 +#endif + +/* Include files */ + #include #include #include @@ -55,9 +67,7 @@ #include #include "usb2_if.h" - #include "opt_usb.h" - #include "opt_bus.h" #define USB_STACK_VERSION 2000 /* 2.0 */ ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_dev.c#19 (text+ko) ==== @@ -1552,7 +1552,7 @@ tr_data = 1; } - io_len = min(m->cur_data_len, uio->uio_resid); + io_len = MIN(m->cur_data_len, uio->uio_resid); DPRINTFN(2, "transfer %d bytes from %p\n", io_len, m->cur_data_ptr); @@ -1684,7 +1684,7 @@ USB_MBUF_RESET(m); - io_len = min(m->cur_data_len, uio->uio_resid); + io_len = MIN(m->cur_data_len, uio->uio_resid); m->cur_data_len = io_len; @@ -2103,7 +2103,7 @@ if (m) { USB_MBUF_RESET(m); - io_len = min(len, m->cur_data_len); + io_len = MIN(len, m->cur_data_len); usb2_copy_out(pc, offset, m->cur_data_ptr, io_len); @@ -2142,7 +2142,7 @@ if (m) { USB_MBUF_RESET(m); - io_len = min(len, m->cur_data_len); + io_len = MIN(len, m->cur_data_len); bcopy(ptr, m->cur_data_ptr, io_len); @@ -2205,7 +2205,7 @@ tr_data = 1; - io_len = min(len, m->cur_data_len); + io_len = MIN(len, m->cur_data_len); usb2_copy_in(pc, offset, m->cur_data_ptr, io_len); @@ -2263,7 +2263,7 @@ tr_data = 1; - io_len = min(len, m->cur_data_len); + io_len = MIN(len, m->cur_data_len); bcopy(m->cur_data_ptr, ptr, io_len); ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.c#16 (text+ko) ==== @@ -96,7 +96,7 @@ usb2_get_pipe_by_addr(struct usb2_device *udev, uint8_t ea_val) { struct usb2_pipe *pipe = udev->pipes; - struct usb2_pipe *pipe_end = udev->pipes_end; + struct usb2_pipe *pipe_end = udev->pipes + USB_EP_MAX; enum { EA_MASK = (UE_DIR_IN | UE_DIR_OUT | UE_ADDR), }; @@ -151,7 +151,7 @@ const struct usb2_config *setup) { struct usb2_pipe *pipe = udev->pipes; - struct usb2_pipe *pipe_end = udev->pipes_end; + struct usb2_pipe *pipe_end = udev->pipes + USB_EP_MAX; uint8_t index = setup->ep_index; uint8_t ea_mask; uint8_t ea_val; @@ -311,7 +311,7 @@ uint8_t iface_index, uint8_t iface_mask) { struct usb2_pipe *pipe = udev->pipes; - struct usb2_pipe *pipe_end = udev->pipes_end; + struct usb2_pipe *pipe_end = udev->pipes + USB_EP_MAX; while (pipe != pipe_end) { if ((pipe->iface_index & iface_mask) == iface_index) { @@ -337,7 +337,7 @@ { struct usb2_interface *iface = usb2_get_iface(udev, iface_index); struct usb2_pipe *pipe = udev->pipes; - struct usb2_pipe *pipe_end = udev->pipes_end; + struct usb2_pipe *pipe_end = udev->pipes + USB_EP_MAX; struct usb2_interface_descriptor *id; struct usb2_endpoint_descriptor *ed = NULL; struct usb2_descriptor *desc; @@ -446,7 +446,7 @@ usb2_free_iface_data(struct usb2_device *udev) { struct usb2_interface *iface = udev->ifaces; - struct usb2_interface *iface_end = udev->ifaces_end; + struct usb2_interface *iface_end = udev->ifaces + USB_IFACE_MAX; uint8_t n; /* mtx_assert() */ @@ -786,7 +786,7 @@ usb2_error_t err; pipe = udev->pipes; - pipe_end = udev->pipes_end; + pipe_end = udev->pipes + USB_EP_MAX; for (; pipe != pipe_end; pipe++) { @@ -1491,7 +1491,7 @@ udev->ddesc.iSerialNumber) { /* read out the language ID string */ err = usb2_req_get_string_desc(udev, &Giant, - scratch_ptr, 4, scratch_size, + (char *)scratch_ptr, 4, scratch_size, USB_LANGUAGE_TABLE); } else { err = USB_ERR_INVAL; @@ -1509,24 +1509,24 @@ /* get serial number string */ err = usb2_req_get_string_any - (udev, &Giant, scratch_ptr, + (udev, &Giant, (char *)scratch_ptr, scratch_size, udev->ddesc.iSerialNumber); - strlcpy(udev->serial, scratch_ptr, sizeof(udev->serial)); + strlcpy(udev->serial, (char *)scratch_ptr, sizeof(udev->serial)); /* get manufacturer string */ err = usb2_req_get_string_any - (udev, &Giant, scratch_ptr, + (udev, &Giant, (char *)scratch_ptr, scratch_size, udev->ddesc.iManufacturer); - strlcpy(udev->manufacturer, scratch_ptr, sizeof(udev->manufacturer)); + strlcpy(udev->manufacturer, (char *)scratch_ptr, sizeof(udev->manufacturer)); /* get product string */ err = usb2_req_get_string_any - (udev, &Giant, scratch_ptr, + (udev, &Giant, (char *)scratch_ptr, scratch_size, udev->ddesc.iProduct); - strlcpy(udev->product, scratch_ptr, sizeof(udev->product)); + strlcpy(udev->product, (char *)scratch_ptr, sizeof(udev->product)); /* finish up all the strings */ usb2_check_strings(udev); @@ -1608,14 +1608,14 @@ parent_hub->hub->ports + port_index : NULL, udev, device_index); /* make a symlink for UGEN */ - if (snprintf(scratch_ptr, scratch_size, + if (snprintf((char *)scratch_ptr, scratch_size, USB_DEVICE_NAME "%u.%u.0.0", device_get_unit(udev->bus->bdev), udev->device_index)) { /* ignore */ } udev->ugen_symlink = - usb2_alloc_symlink(scratch_ptr, "ugen%u.%u", + usb2_alloc_symlink((char *)scratch_ptr, "ugen%u.%u", device_get_unit(udev->bus->bdev), udev->device_index); @@ -1720,7 +1720,7 @@ struct usb2_interface *iface = udev->ifaces + iface_index; if ((iface < udev->ifaces) || - (iface >= udev->ifaces_end) || + (iface_index >= USB_IFACE_MAX) || (udev->cdesc == NULL) || (iface_index >= udev->cdesc->bNumInterface)) { return (NULL); ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.h#6 (text+ko) ==== @@ -92,13 +92,9 @@ struct sx default_sx[2]; struct mtx default_mtx[1]; struct cv default_cv[2]; - struct usb2_interface ifaces[USB_IFACE_MAX]; - struct usb2_interface ifaces_end[0]; - struct usb2_pipe default_pipe; /* Control Endpoint 0 */ struct usb2_pipe pipes[USB_EP_MAX]; - struct usb2_pipe pipes_end[0]; struct usb2_bus *bus; /* our USB BUS */ device_t parent_dev; /* parent device */ ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_handle_request.c#5 (text+ko) ==== @@ -207,6 +207,9 @@ (error != ENOTTY) && (iface->subdev != NULL) && device_is_attached(iface->subdev)) { +#if 0 + DEVMETHOD(usb2_handle_request, NULL); /* dummy */ +#endif error = USB2_HANDLE_REQUEST(iface->subdev, &req, ppdata, plen, off, (state == ST_POST_STATUS)); ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_hid.c#4 (text+ko) ==== @@ -60,9 +60,9 @@ #define MAXUSAGE 100 struct hid_data { - const u_char *start; - const u_char *end; - const u_char *p; + const uint8_t *start; + const uint8_t *end; + const uint8_t *p; struct hid_item cur; int32_t usages[MAXUSAGE]; int nu; @@ -101,7 +101,7 @@ s = malloc(sizeof *s, M_TEMP, M_WAITOK | M_ZERO); s->start = s->p = d; - s->end = ((const char *)d) + len; + s->end = ((const uint8_t *)d) + len; s->kindset = kindset; return (s); } @@ -131,16 +131,16 @@ struct hid_item *c = &s->cur; unsigned int bTag, bType, bSize; uint32_t oldpos; - const u_char *data; + const uint8_t *data; int32_t dval; - const u_char *p; + const uint8_t *p; struct hid_item *hi; int i; top: if (s->multimax != 0) { if (s->multi < s->multimax) { - c->usage = s->usages[min(s->multi, s->nu - 1)]; + c->usage = s->usages[MIN(s->multi, s->nu - 1)]; s->multi++; *h = *c; c->loc.pos += c->loc.size; @@ -435,11 +435,11 @@ /*------------------------------------------------------------------------* * hid_get_data *------------------------------------------------------------------------*/ -u_long -hid_get_data(const u_char *buf, uint32_t len, struct hid_location *loc) +uint32_t +hid_get_data(const uint8_t *buf, uint32_t len, struct hid_location *loc) { - u_int hpos = loc->pos; - u_int hsize = loc->size; + uint32_t hpos = loc->pos; + uint32_t hsize = loc->size; uint32_t data; int i, s, t; ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_hid.h#5 (text+ko) ==== @@ -80,7 +80,7 @@ int hid_get_item(struct hid_data *s, struct hid_item *h); int hid_report_size(const void *buf, int len, enum hid_kind k, uint8_t *id); int hid_locate(const void *desc, int size, uint32_t usage, enum hid_kind kind, struct hid_location *loc, uint32_t *flags); -u_long hid_get_data(const u_char *buf, uint32_t len, struct hid_location *loc); +uint32_t hid_get_data(const uint8_t *buf, uint32_t len, struct hid_location *loc); int hid_is_collection(const void *desc, int size, uint32_t usage); struct usb2_hid_descriptor *hid_get_descriptor_from_usb(struct usb2_config_descriptor *cd, struct usb2_interface_descriptor *id); usb2_error_t usb2_req_get_hid_desc(struct usb2_device *udev, struct mtx *mtx, void **descp, uint16_t *sizep, usb2_malloc_type mem, uint8_t iface_index); ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_hub.c#13 (text+ko) ==== @@ -72,7 +72,7 @@ struct usb2_xfer *sc_xfer[2]; /* interrupt xfer */ uint8_t sc_flags; #define UHUB_FLAG_INTR_STALL 0x02 - uint8_t sc_name[32]; + char sc_name[32]; }; #define UHUB_PROTO(sc) ((sc)->sc_udev->ddesc.bDeviceProtocol) ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_process.h#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* +/*- * Copyright (c) 2008 Hans Petter Selasky. All rights reserved. * * Redistribution and use in source and binary forms, with or without ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_request.c#11 (text+ko) ==== @@ -102,7 +102,7 @@ /* round robin pipe clear stall */ pipe = xfer->udev->pipe_curr; - pipe_end = xfer->udev->pipes_end; + pipe_end = xfer->udev->pipes + USB_EP_MAX; pipe_first = xfer->udev->pipes; if (pipe == NULL) { pipe = pipe_first; @@ -665,7 +665,7 @@ if (err) { return (err); } - temp = buf; + temp = (uint8_t *)buf; if (temp[0] < 2) { /* string length is too short */ ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_transfer.c#15 (text+ko) ==== @@ -72,14 +72,14 @@ }, [UE_BULK] = { - [USB_SPEED_LOW] = {}, /* invalid (all zero) */ + [USB_SPEED_LOW] = {.fixed = {0, 0, 0, 0}}, /* invalid */ [USB_SPEED_FULL] = {.fixed = {8, 16, 32, 64}}, [USB_SPEED_HIGH] = {.fixed = {512, 512, 512, 512}}, [USB_SPEED_VARIABLE] = {.fixed = {512, 512, 1024, 1536}}, }, [UE_ISOCHRONOUS] = { - [USB_SPEED_LOW] = {}, /* invalid (all zero) */ + [USB_SPEED_LOW] = {.fixed = {0, 0, 0, 0}}, /* invalid */ [USB_SPEED_FULL] = {.range = {0, 1023}}, [USB_SPEED_HIGH] = {.range = {0, 1024}}, [USB_SPEED_VARIABLE] = {.range = {0, 3584}}, @@ -2585,6 +2585,8 @@ return (1); /* Clear Stall Finished */ } +#if (USB_NO_POLL == 0) + /*------------------------------------------------------------------------* * usb2_callout_poll *------------------------------------------------------------------------*/ @@ -2693,3 +2695,14 @@ } return; } + +#else + +void +usb2_do_poll(struct usb2_xfer **ppxfer, uint16_t max) +{ + /* polling not supported */ + return; +} + +#endif ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_util.c#3 (text+ko) ==== @@ -39,8 +39,11 @@ #include /* function prototypes */ +#if (USB_USE_CONDVAR == 0) static int usb2_msleep(void *chan, struct mtx *mtx, int priority, const char *wmesg, int timo); +#endif + /*------------------------------------------------------------------------* * device_delete_all_children - delete all children of a device *------------------------------------------------------------------------*/ @@ -99,7 +102,7 @@ err = 0; } - temp_p = udev->bus->scratch[0].data; + temp_p = (char *)udev->bus->scratch[0].data; if (!err) { /* try to get the interface string ! */ @@ -136,12 +139,18 @@ } else { ms = USB_MS_TO_TICKS(ms); - ms++; /* be sure that we don't return too - * early */ + /* + * Add one to the number of ticks so that we don't return + * too early! + */ + ms++; + + mtx_unlock(mtx); - if (mtx_sleep(&ms, mtx, 0, "pause_mtx", ms)) { - /* should not happen */ + if (pause("USBWAIT", ms)) { + /* ignore */ } + mtx_lock(mtx); } return; } @@ -238,6 +247,8 @@ return (totlen); } +#if (USB_USE_CONDVAR == 0) + /*------------------------------------------------------------------------* * usb2_cv_init - wrapper function *------------------------------------------------------------------------*/ @@ -336,3 +347,5 @@ } return (err); } + +#endif ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_util.h#3 (text+ko) ==== @@ -33,6 +33,8 @@ void usb2_pause_mtx(struct mtx *mtx, uint32_t ms); void usb2_printBCD(char *p, uint16_t p_len, uint16_t bcd); void usb2_trim_spaces(char *p); + +#if (USB_USE_CONDVAR == 0) void usb2_cv_init(struct cv *cv, const char *desc); void usb2_cv_destroy(struct cv *cv); void usb2_cv_wait(struct cv *cv, struct mtx *mtx); @@ -41,4 +43,14 @@ void usb2_cv_signal(struct cv *cv); void usb2_cv_broadcast(struct cv *cv); +#else +#define usb2_cv_init cv_init +#define usb2_cv_destroy cv_destroy +#define usb2_cv_wait cv_wait +#define usb2_cv_wait_sig cv_wait_sig +#define usb2_cv_timedwait cv_timedwait +#define usb2_cv_signal cv_signal +#define usb2_cv_broadcast cv_broadcast +#endif + #endif /* _USB2_UTIL_H_ */ From owner-p4-projects@FreeBSD.ORG Mon Aug 4 16:32:22 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3268B1065676; Mon, 4 Aug 2008 16:32:22 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EA8771065672 for ; Mon, 4 Aug 2008 16:32:21 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C39B98FC17 for ; Mon, 4 Aug 2008 16:32:21 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m74GWLxm074566 for ; Mon, 4 Aug 2008 16:32:21 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m74GWLkq074564 for perforce@freebsd.org; Mon, 4 Aug 2008 16:32:21 GMT (envelope-from gabor@freebsd.org) Date: Mon, 4 Aug 2008 16:32:21 GMT Message-Id: <200808041632.m74GWLkq074564@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 146637 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, 04 Aug 2008 16:32:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=146637 Change 146637 by gabor@gabor_server on 2008/08/04 16:31:29 - Fix an if Affected files ... .. //depot/projects/soc2008/gabor_textproc/diff/diffreg.c#7 edit Differences ... ==== //depot/projects/soc2008/gabor_textproc/diff/diffreg.c#7 (text+ko) ==== @@ -766,7 +766,7 @@ ixnew[j] = ctnew += skipline(f2); j++; } - if (bflag || wflag || iflag) { + if (bflag || wflag || iflag || strip_cr) { for (;;) { c = getc(f1); d = getc(f2); From owner-p4-projects@FreeBSD.ORG Mon Aug 4 16:39:29 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7C4E2106566C; Mon, 4 Aug 2008 16:39:29 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 40386106564A for ; Mon, 4 Aug 2008 16:39:29 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 32E218FC08 for ; Mon, 4 Aug 2008 16:39:29 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m74GdT5c075154 for ; Mon, 4 Aug 2008 16:39:29 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m74GdSmD075150 for perforce@freebsd.org; Mon, 4 Aug 2008 16:39:28 GMT (envelope-from pgj@FreeBSD.org) Date: Mon, 4 Aug 2008 16:39:28 GMT Message-Id: <200808041639.m74GdSmD075150@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 146638 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, 04 Aug 2008 16:39:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=146638 Change 146638 by pgj@disznohal on 2008/08/04 16:38:35 IFC Affected files ... .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/printing/chapter.sgml#7 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/security/chapter.sgml#8 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/virtualization/chapter.sgml#5 integrate .. //depot/projects/docproj_hu/www/en/cgi/man.cgi#3 integrate Differences ... ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/printing/chapter.sgml#7 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -18,7 +18,7 @@ A &os; Dokumentációs Projekt - $FreeBSD: doc/en_US.ISO8859-1/books/faq/book.sgml,v 1.1000 2008/06/21 08:32:47 pgj Exp $ + $FreeBSD: doc/en_US.ISO8859-1/books/faq/book.sgml,v 1.1050 2008/07/05 03:12:14 pgj Exp $ 1995 @@ -5028,7 +5028,44 @@ - + + Miért árasztják el + calcru: negative runtime vagy + calcru: runtime went backwards + üzenetek a konzolt? + + + + Ismert egy olyan probléma, hogy a BIOS-ban + engedélyezzük az &intel; Enhanced SpeedStep + technológiáját, akkor a rendszermag + ehhez hasonló calcru + üzeneteket kezd el küldözgetni: + + calcru: runtime went backwards from 6 usec to 3 usec for pid 37 (pagezero) +calcru: runtime went backwards from 6 usec to 3 usec for pid 36 (vmdaemon) +calcru: runtime went backwards from 170 usec to 138 usec for pid 35 (pagedaemon) +calcru: runtime went backwards from 553 usec to 291 usec for pid 15 (swi6: task queue) +calcru: runtime went backwards from 15521 usec to 10366 usec for pid 2 (g_event) +calcru: runtime went backwards from 25 usec to 12 usec for pid 11 (swi1: net) +calcru: runtime went backwards from 4417 usec to 3960 usec for pid 1 (init) +calcru: runtime went backwards from 2084385 usec to 1793542 usec for pid 1 (init) +calcru: runtime went backwards from 408 usec to 204 usec for pid 0 (swapper) + + Ennek oka, hogy az &intel; SpeedStep (EIST) egyes + alaplapokkal nem kompatibilis. + + Megoldás: Tiltsuk le a BIOS-ban az EIST + használatát. Ekkor még az + ACPI-alapú + processzorfrekvencia-szabályozás + továbbra is elérhetõ a &man.powerd.8; + használatán keresztül. + + + + + Miért jár rosszul az óra a számítógépen? @@ -10495,6 +10532,18 @@ YES értékûre állítjuk. + + A &os; újabb változataiban az + &man.mrouted.8; multicast útválasztó + démon, a &man.map-mbone.8; valamint az + &man.mrinfo.8; segédprogramok már nem + szerepelnek az alaprendszerben. Ezek a programok + már a &os; Portgyûjteményében az + net/mrouted portban + találhatóak meg. + + Az MBONE használatához további eszközök találhatóak a külön ppp.conf - állományban használt - HISADDR kulcsszót - feldolgozni. + ppp.conf állományba + elfelejtettük felvenni a HISADDR + kulcsszót. Az alapértelmezett útvonal hiányának másik oka lehet még, ha @@ -11485,10 +11531,8 @@ Ebben az esetben menjünk vissza a kézikönyv - A rendszer végsõ - beállítása címû - részéhez. + url="&url.books.handbook;/userppp.html#USERPPP-FINAL">A rendszer végsõ beállítása + címû részéhez. @@ -11521,8 +11565,7 @@ add 0 0 HISADDR A kézikönyv - A PPP és a dinamikus IP-címek + url="&url.books.handbook;/userppp.html#USERPPP-DYNAMICIP">A PPP és a dinamikus IP-címek címû részében olvashatunk errõl bõvebben. @@ -11771,17 +11814,19 @@ támogatást újrafordítjuk a CFLAGS+=-g és a STRIP= - beállítások megadásával a - hozzátartozó Makefile - állományban, majd a make - install - clean parancs - kiadásával. Amikor a &man.ppp.8; + beállítások megadásával + az /etc/make.conf + állományban, majd a + /usr/src/usr.sbin/ppp + könyvtárban a + make install clean + parancs kiadásával. Amikor a &man.ppp.8; leáll, keressük meg a &man.ppp.8; program - azonosítóját a ps ajxww | - fgrep ppp parancs használatával, - majd adjuk ki a gdb ppp - PID parancsot. A + azonosítóját a + pgrep ppp parancs + használatával, majd adjuk ki a + gdb ppp PID + parancsot (gdb ppp `pgrep ppp`). A gdb parancssorából ezután a bt paranccsal kérdezhetjük le a hívási @@ -11828,7 +11873,7 @@ - Folyamatosan magic is the same + Folyamatosan Magic is same hibák jelennek meg. Ez mire utal? @@ -12019,15 +12064,15 @@ set stopped N - Használhatjuk viszont ezt a parancsot is: + Használhatjuk viszont ezt a parancsot is (ahol + N adja meg, hogy mennyi + másodperc teljen el a beállítás + megkezdése elõtt): set openmode active N - ahol N adja meg, hogy mennyi - másodperc teljen el a beállítás - megkezdése elõtt). Az ezzel kapcsolatos - további részleteket a man oldalon - olvashatjuk. + Az ezzel kapcsolatos további részleteket a + man oldalon olvashatjuk. @@ -12173,9 +12218,9 @@ paraméterekkel szokták meghívni, ami arra utasítja, hogy 30 percenként dolgozza fel a sorát) - vagy amíg a sendmail -q parancs le - nem fut (például a - ppp.linkup + vagy amíg a sendmail + parancs le nem fut + (például a ppp.linkup állományból). @@ -12259,12 +12304,13 @@ szkriptekben? - A &man.ppp.8; a konfigurációs - állományokból minden sort külön - beolvas, ezért a set phone "123 456 - 789" és hozzá hasonló - karakterláncok esetén képes felismerni, - hogy a megadott számok valójában + A ppp a + konfigurációs állományokból + minden sort külön beolvas, ezért a + set phone "123 456 789" és + hozzá hasonló karakterláncok + esetén képes felismerni, hogy a megadott + számok valójában egyetlen paramétert formáznak. A " megadásához a visszaper karaktert @@ -12320,10 +12366,11 @@ - A &man.ppp.8; (vagy más hasonló program) - elméletileg soha nem hoz létre - .core állományt. Mivel a - &man.ppp.8; tulajdonképpen a nullás + A ppp (vagy más + hasonló program) elméletileg soha nem hoz + létre .core + állományt. Mivel a &man.ppp.8; + tulajdonképpen a nullás felhasználói azonosítóval fut, az operációs rendszer soha nem fogja a &man.ppp.8; memórialenyomatát @@ -12338,14 +12385,10 @@ fejezet elejét), akkor a következõt tehetjük: - &prompt.user; tar xfz ppp-*.src.tar.gz -&prompt.user; cd ppp*/ppp -&prompt.user; echo STRIP= >>Makefile -&prompt.user; echo CFLAGS+=-g >>Makefile -&prompt.user; make clean all -&prompt.user; su -&prompt.root; make install -&prompt.root; chmod 555 /usr/sbin/ppp + &prompt.root; cd /usr/src/usr.sbin/ppp +&prompt.root; echo STRIP= >> /etc/make.conf +&prompt.root; echo CFLAGS+= >> /etc/make.conf +&prompt.root; make install clean A fenti parancsokkal telepíteni tudjuk a &man.ppp.8; egy nyomonkövethetõ @@ -12434,14 +12477,15 @@ már nem az adott gép a tulajdonosa. Számos elméleti - megközelítés létezik az imént - felvázolt probléma megoldására. A - legszebb az lenne, ha a távoli pont - lehetõség szerint a korábban - használt IP-címet osztaná ki - újra. A &man.ppp.8; jelenlegi változata - pontosan ugyanezt teszi, viszont a legtöbbi - implementáció már nem. + megközelítés létezik az + imént felvázolt probléma + megoldására. A legszebb az lenne, ha a + távoli pont lehetõség szerint a + korábban használt IP-címet + osztaná ki újra. A &man.ppp.8; jelenlegi + változata pontosan ugyanezt teszi, viszont a + legtöbbi implementáció már + nem. Részünkrõl az bizonyulna a legegyszerûbb megoldásnak, ha a &man.tun.4; @@ -12463,7 +12507,7 @@ címre. A másik (és - valószínûleg a sokkal + valószínûleg a sokkal megbízhatóbb) lehetõség egy olyan rendszerhívás implementálása lenne, amely képes az összes használatban @@ -12474,8 +12518,8 @@ módosítsa az összes addig futó program socketjét az új IP-cím beállításakor. Ugyanezzel a - rendszerhívással a DHCP kliensek is - képesek lennének + rendszerhívással a DHCP + kliensek is képesek lennének átállítani a socketjeiket. Lehetõségünk van még @@ -12581,7 +12625,7 @@ függvénykönyvtárhoz. A különbözõ szélsõséges esetekre a - /usr/src/lib/libalias/alias_*.c + /usr/src/sys/netinet/libalias/alias_*.c állományokban találhatunk példákat (az alias_ftp.c tökéletes @@ -12782,10 +12826,10 @@ állapítani, hogy a beérkezõ adatok bejelentkezõ vagy shell üzeneteket. Ha a másik oldalon egy shell parancssorát kapjuk - meg, akkor a &man.ppp.8; a close lcp + meg, akkor a &man.ppp.8; a close lcp megadásával a vonal eldobása nélkül leállítható (az - utána következõ term + utána következõ term paranccsal pedig a távoli gépen futó shellre tudunk csatlakozni). @@ -12841,9 +12885,7 @@ elérhetõ (egyes képek és oldalak esetén elõfordul). Úgy tûnik, ez az alapbeállítás a legtöbb Telco - PPPoE konfiguráció esetében. - (Bárcsak tudnám, hogyan kell - útválaszókat programozni...) + PPPoE konfiguráció esetében. Ezt a hibát úgy javíthatjuk, ha a &windows; 95/98 rendszerekben megtalálható @@ -12890,25 +12932,16 @@ beállítási lehetõséget a TCP/IP beállítások megváltoztatására. Léteznek - viszont egy kereskedelmi termékek, - például a Sustainable - Softworks által fejlesztett - OTAdvancedTuner (ahol az OT az OpenTransportra, a &macos; - TCP/IP protokollkészletére utal), amely + viszont kereskedelmi termékek, amelyek lehetõvé teszi a felhasználók számára, hogy igényeik szerint módosítsák rendszerük TCP/IP beállításait. A hálózati címfordítást használók - válasszák itt a legördülõ - menübõl az ip_interface_MTU - opciót és adják meg az - 1450 értéket az eredeti - 1500 helyett, majd kattintsanak a - Save as Auto Configure melletti - dobozra és kattintsanak a Make - Active gombra. + keressék meg az MTU + beállításaikat és adják + meg az 1450 értéket az + eredeti 1500 helyett. A &man.ppp.8; újabb (2.3 vagy afeletti) változatai már tartalmaznak egy @@ -12975,14 +13008,14 @@ vagy adjuk ki a következõ parancsot a rendszer indulásának befejeztével: - &prompt.user; dmesg | grep sio + &prompt.user; dmesg | grep -E "^sio[0-9]" Íme egy példa az iménti parancs kimenetére: - sio0 at 0x3f8-0x3ff irq 4 on isa + sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 sio0: type 16550A -sio1 at 0x2f8-0x2ff irq 3 on isa +sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0 sio1: type 16550A Ezen két soros portot láthatunk. Az @@ -13010,10 +13043,8 @@ szeretnénk, akkor nincs más teendõnk, mint ennek megfelelõen megváltoztatni a rendszermag paramétereit. A rendszermag - fordításáról - szóló rész tárgyalja - ennek részleteit. + linkend="make-kernel">rendszermag fordításáról szóló + rész tárgyalja ennek részleteit. @@ -13039,7 +13070,7 @@ A harmadik soros port, a sio2 (lásd &man.sio.4;, DOS alatt COM3) a - /dev/cuaa2 eszközön + /dev/cuad2 eszközön keresztül érhetõ el tárcsázó eszközként, és a /dev/ttyd2 @@ -13056,12 +13087,12 @@ eszközt blokkoló módban nyitjuk meg, akkor a hívó program egészen addig várni fog, amíg a megfelelõ - cuaaX + cuadX eszköz inaktívvá nem válik, majd kivárja, hogy megérkezzen a hívás fogadását tolmácsoló jelzés. Amikor megnyitjuk a - cuaaX + cuadX eszközt, gondoskodik róla, hogy a soros portot ekkor ne használja a ttydX @@ -13069,7 +13100,7 @@ egyszerûen ellopja a ttydX eszköztõl. Sõt, a - cuaaX + cuadX eszközt egyáltalán nem érdekli a hívás fogadása jelzés. Ezzel a megoldással és egy automata modem @@ -13098,7 +13129,7 @@ vonali kártyák esetén a kártyán található mindegyik soros porthoz vegyünk fel egy-egy &man.sio.4; - bejegyzést a rendszermag konfigurációs + bejegyzést a &man.device.hints.5; állományába. Az IRQ és vektor értékeket azonban csak az egyiknél adjuk meg, mivel a kártyán @@ -13107,30 +13138,38 @@ következetesség kedvéért az utolsó porthoz adjuk meg a megszakítást. Ne felejtsük el még - megadni a COM_MULTIPORT opciót - sem. + megadni a rendszermag konfigurációs + állományában az alábbi + opciót sem: + + options COM_MULTIPORT - Az alábbi példában egy AST - típusú négyportos soros vonali - kártyát láthatunk a hetedik + Az alábbi /boot/device.hints + egy AST típusú négyportos soros vonali + kártyát láthatunk a tizenkettedik megszakításon: - options "COM_MULTIPORT" -device sio4 at isa? port 0x2a0 tty flags 0x781 -device sio5 at isa? port 0x2a8 tty flags 0x781 -device sio6 at isa? port 0x2b0 tty flags 0x781 -device sio7 at isa? port 0x2b8 tty flags 0x781 irq 7 vector siointr + hint.sio.4.at="isa" +hint.sio.4.port="0x2a0" +hint.sio.4.flags="0x701" +hint.sio.5.at="isa" +hint.sio.5.port="0x2a8" +hint.sio.5.flags="0x701" +hint.sio.6.at="isa" +hint.sio.6.port="0x2b0" +hint.sio.6.flags="0x701" +hint.sio.7.at="isa" +hint.sio.7.port="0x2b8" +hint.sio.7.flags="0x701" +hint.sio.7.irq="12" A flags paraméterrel megadott értékek azt jelzik, hogy a fõport 7 alszámmal rendelkezik - (0x700), az eszközök - felderítése során - engedélyeztük a további - vizsgálatokat (0x080), valamint az - összes port ugyanazon a megszakításon - osztozik (0x001). - + (0x700), valamint az összes port + ugyanazon a megszakításon osztozik + (0x001). + @@ -13154,82 +13193,10 @@ - A - ttydX - (vagy - cuaaX) - eszköz egy teljesen hagyományos eszköz, - amelyet bármelyik alkalmazásból - megnyithatunk. Amikor egy futó program megnyit egy - eszközt, a kommunikációhoz - alapértelmezés szerint mindig - beállít valamilyen paramétereket. - Ezeket a beállításokat az alábbi - paranccsal lehet lekérdezni: - - &prompt.root; stty -a -f /dev/ttyd1 - - Ha megváltoztatjuk az eszköz valamelyik - paraméterét, akkor ez csak az eszköz - lezárásáig marad meg. Így ha - késõbb újra megnyitjuk, akkor minden - visszaáll az alapértelmezés szerinti - értékekre. Ezeket az - alapértelmezéseket úgy tudjuk - megváltoztatni, ha a közvetlenül - magát ezt a kezdeti állapotot - leíró eszközt nyitjuk meg. - Például a következõ módon - tudjuk rajta keresztül - alapértelmezésként megadni a - CLOCAL módot, a 8 bites - adatátvitelt, a XON/XOFF - forgalomirányítást a - ttyd5 eszköz - számára: - - &prompt.root; stty -f /dev/ttyid5 clocal cs8 ixon ixoff - - Ezt például az - /etc/rc.serial állományban - érdemes megtenni. Így az alkalmazások - ezeket a beállításokat kapják - meg alapértelmezésként, amikor - legközelebb megnyitják a - ttyd5 eszközt. Ezek a - beállítások természetesen - kedvünk szerint tovább - módosíthatóak. - - Mindemellett az ún. zárolt - állapotot képviselõ eszköz - segítségével meg is tudjuk - akadályozni bizonyos paraméterek - esetén, hogy az alkalmazások meg tudják - változtatni ezeket. Például, ha a - ttyd5 eszköz - sebességét 57 600 bps-re - szeretnénk fixen beállítani, akkor - adjuk ki ezt a parancsot: - - &prompt.root; stty -f /dev/ttyld5 57600 - - Ennek köszönhetõen amikor egy - alkalmazás megnyitja a ttyd5 - eszközt, és megpróbálja - átállítani a port - sebességét, a rendszer elutasítja - és továbbra is 57 600 bps-en - hagyja. - - Természetesen a kezdeti és a zárolt - állapotokat képezõ eszközöket - kizárólag csak a root - felhasználónak lenne szabad írnia. A - &man.MAKEDEV.8; szkript azonban nem - állítja be ezt, amikor létrehozza az - eszközökhöz tartozó - leírókat. + Ezzel kapcsolatban olvassuk el a &os; + kézikönyv soros kommunikációt + tárgyaló részét. @@ -13240,119 +13207,10 @@ - Szóval internetszolgáltatók akarunk - lenni, mi? Ehhez elsõként egy vagy több - automata modemre lesz szükségünk. A - modemeknek tudniuk kell jelezniük a - hívásokat vagy azok hiányát. - Amikor az adatterminál kész (Data Terminal - Ready, DTR) jelzés üresre - vált, akkor tudniuk kell maguktól bontani a - vonalat és visszaállni az - alapállapotra. Érdemes még - továbbá az RTS/CTS - forgalomirányítást használni, - vagy letiltani minden helyi - forgalomirányítást. - Végezetül a modemek és a - számítógép között - állandó sebességû kapcsolatot - használjunk, azonban (hogy rendesek legyünk az - ügyfeleinkkel) a távoli modem és a - saját modemeink között - próbáljunk beállítani egy - minél gyorsabb kapcsolatot. - - A legtöbb Hayes-parancskészlettel - kompatibilis modem esetén a most következõ - parancs pontosan ezeket állítja be és - tárolja el a modem statikus - memóriájába: - - AT &C1 &D3 &K3 &Q6 S0=1 &W - - A lentebb még találunk némi - információt az AT - parancsok küldésérõl &ms-dos; - terminálprogram használata - nélkül. - - Most pedig hozzunk létre a modemnek egy - bejegyzést az /etc/ttys - állományban (lásd &man.ttys.5;). Itt - található az összes olyan port, amelyen - keresztül az operációs rendszer - beérkezõ hívásokra - számít. Vegyünk fel ide egy ehhez - hasonló sort: - - ttyd1 "/usr/libexec/getty std.57600" dialup on insecure - - Ebben a sorban azt adjuk meg, hogy a második - soros porton (/dev/ttyd1) - 57 600 bps sebességgel, paritásbitek - használata nélkül csatlakozik egy modem - (ez az std.57600, amely az - /etc/gettytab állományban - található, lásd &man.gettytab.5;). A - port termináltípusa dialup. - A port engedélyezett, tehát - on állapotú, és - insecure. Ez utóbbi arra utal, - hogy ezen a porton keresztül a - root nem jelentkezhet be. Az ehhez - hasonló betárcsázó portok - megadásakor a - ttydX - alakú bejegyzéseket használjuk. - - Gyakran a dialup - értéket adják meg a terminál - típusának. Sok felhasználó - úgy állítja be a - .profile vagy - .login állományát, - hogy bekérje a konkrét - termináltípust, amennyiben az kezdetben - dialup. A példában - láthattuk azt is, hogy a port - insecure. Ilyenkor a - root felhasználóval - úgy tudunk dolgozni az adott porton keresztül, - ha elõször bejelentkezünk egyszerû - felhasználóként, majd a &man.su.1; - használatával átváltunk a - root felhasználóra. Ha - viszont itt a secure - beállítást adjuk meg, akkor a - root közvetlenül be tud - jelentkezni. - - Miután elvégeztük a - szükséges módosításokat az - /etc/ttys állományban, - küldenünk kell egy bontás - (hangup) avagy HUP jelzést a - futó &man.init.8; programnak: - - &prompt.root; kill -HUP 1 - - Ezzel kényszerítjük az - aktuálisan futó &man.init.8; programot, hogy - olvassa újra az /etc/ttys - állományt. Az &man.init.8; ekkor - elindítja a &man.getty.8; programot az összes - on állapotúnak - megjelölt porton. A következõ paranccsal - tudjuk ellenõrizni, hogy az adott porton - engedélyezett a bejelentkezés: - - &prompt.user; ps -ax | grep '[t]tyd1' - - Ennek eredményeképpen valami ilyesmit kell - látnunk: - - 747 ?? I 0:00.04 /usr/libexec/getty std.57600 ttyd1 + Erre vonatkozóan olvassuk el a &os; + kézikönyv betárcsázós szolgáltatásokkal + kapcsolatos részét. @@ -13363,40 +13221,11 @@ - Ha egy másik - számítógépet akarunk - terminálként használni egy &os; - rendszerhez, akkor szerezzünk valahonnan egy null-modem - kábelt és kössük össze a - két gépet a soros portjaikon keresztül. - Ha egy valódi terminált akarunk - használni, akkor a részleteket olvassuk el a - hozzátartozó felhasználói - útmutatóban. - - Ezután a fentiek szerint módosítsuk - az /etc/ttys állományt - (lásd &man.ttys.5;). Például, ha egy - WYSE-50 típusú terminált - csatlakoztatunk az ötödik soros portra, akkor egy - ehhez hasonló bejegyzés - megadására lesz - szükségünk: - - ttyd4 "/usr/libexec/getty std.38400" wyse50 on secure - - Ebben a példában azt láthatjuk, - hogy a /dev/ttyd4 eszközre egy - wyse50 terminált csatlakoztattunk - 38 400 bps sebességgel, paritásbitek - használata nélkül (lásd az - /etc/gettyab állományban - található std.38400 - termináltípust, bõvebben - &man.gettytab.5;) és a root - számára engedélyeztük a - közvetlen bejelentkezést - (secure). + Az ezzel kapcsolatos információkat a &os; + kézikönyv terminálokról + szóló részében + találhatjuk meg. @@ -13408,10 +13237,13 @@ Elõfordulhat, hogy rendszerünkön a - &man.tip.1; és &man.cu.1; programokat csak az - uucp felhasználó - és a dialer csoport tagjai - tudják futtatni. A dialer + &man.tip.1; és &man.cu.1; programok csak az + uucp felhasználón + és a dialer csoporton + keresztül tudnak hozzáférni a + mûködésükhöz + szükséges /var/spool/lock + könyvtárhoz. A dialer csoport segítségével lehet szabályozni, hogy ki férhessen hozzá a modemekhez vagy a távoli rendszerekhez. Ilyenkor @@ -13437,50 +13269,9 @@ - A &man.tip.1; man oldala jelen pillanatban egy - kissé már elavult információkat - tartalmaz, ugyanis alapértelmezés szerint - eleve beépítetten tartalmaz egy - Hayes-típusú tárcsázót. - Ehhez adjuk meg az /etc/remote - állományban (lásd &man.remote.5;) a - at=hayes sort. - - A Hayes-modemek meghajtója nem eleggé - ügyes ahhoz, hogy magától felismerje az - újabb gyártmányok nyújtotta - lehetõségeket, ezért - például a BUSY, NO - DIALTONE vagy CONNECT 115200 - üzenetek képesek megzavarni. A &man.tip.1; - használatakor ezért ezeket (az - ATX0&W megadásával) - érdemes kikapcsolnunk. - - A &man.tip.1; a híváskor - 60 másodpercig vár. A modemnek - ezért ajánlott valamivel kevesebb idõt - adni, különben a &man.tip.1; - kommunikációs problémára fog - panaszkodni. Próbálkozzunk az - ATS7=45&W paranccsal. - - A &man.tip.1; alap változata jelenleg nem - teljesen támogatja az ilyen modemeket. Ezen - úgy tudunk segíteni, ha átírjuk - a /usr/src/usr.bin/tip/tip - könyvtárban található - tipconf.h állományt. - Ehhez természetesen szükségünk lesz - a rendszer forrásaira. - - Keressük meg és szerkesszük át a - #define HAYES 0 sor a #define - HAYES 1 sorra. Ezután adjuk ki a - make és make - install parancsokat. - Innentõl már mindennek remekül - mûködnie kell. + A &os; kézikönyvben lásd ezt + a választ. @@ -13490,46 +13281,9 @@ - Hozzunk létre egy ún. - közvetlen bejegyzést - hozzájuk az /etc/remote - állományban (lásd &man.remote.5;). - Például, ha a modemünket az elsõ - soros portra, vagyis a /dev/cuaa0 - eszközre csatlakoztattuk, akkor a következõ - sort kell megadnunk: - - cuaa0:dv=/dev/cuaa0:br#19200:pa=none - - A br tulajdonságnál - adjuk meg a modemünk által támogatott - legnagyobb sebességet. Ezután adjuk ki a - tip cuaa0 - parancsot (lásd &man.tip.1;), és már - csatlakozunk is a modemhez. - - Ha nincs a rendszerünkben - /dev/cuaa0 eszköz, akkor ezekre - is szükségünk lehet: - - &prompt.root; cd /dev -&prompt.root; sh MAKEDEV cuaa0 - - Használhatjuk a &man.cu.1; programot is - root - felhasználóként: - - &prompt.root; cu -lvonal -ssebesség - - Itt a line sor a - használni kívánt soros portot adja meg - (például /dev/cuaa0), - a sebesség pedig a - kommunikáció sebességét - (például 57600). Az AT - parancsok kiadása után a ~. - begépelésével tudunk - kilépni. + A &os; kézikönyvben lásd ezt + a választ. @@ -13541,18 +13295,9 @@ - A pn tulajdonság esetén - a @ különleges jelentéssel - bír, ugyanis arra utasítja a &man.tip.1; - programot, hogy az /etc/phones - állományból keressen ki egy - telefonszámot. A @ jel - ezenkívül még az - /etc/remote állományban - is speciális. Ezért egy visszaper karaktert - kell használnánk a megadásakor: - - pn=\@ + A &os; kézikönyvben lásd ezt + a választ. @@ -13560,31 +13305,12 @@ Hogyan lehet telefonszámokat tárcsázni parancssorból? - + - Tegyünk egy általános - bejegyzést az /etc/remote - állományunkba (lásd &man.remote.5;). - Például: - - tip115200|Dial any phone number at 115200 bps:\ - :dv=/dev/cuaa0:br#115200:at=hayes:pa=none:du: -tip57600|Dial any phone number at 57600 bps:\ - :dv=/dev/cuaa0:br#57600:at=hayes:pa=none:du: - - Ezután már például a - tip -115200 5551234 parancs - segítségével tudunk is - tárcsázni. Ha viszont a &man.tip.1; helyett - inkább a &man.cu.1; programot szeretnénk - használni, akkor ehhez adjunk meg egy ilyen - általános bejegyzést: - - cu115200|Use cu to dial any number at 115200bps:\ - :dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du: - - Ezután már be is gépelhetjük a - cu 5551234 -s 115200 parancsot. + + A &os; kézikönyvben lásd ezt + a választ. @@ -13595,17 +13321,9 @@ - Hozzunk létre egy bejegyzést - tip1200 vagy cul1200 - néven, ahol viszont a br - tulajdonsággal olyan kommunikációs - sebességet adjunk meg, amely megfelel - számunkra. A &man.tip.1; szerint az 1200 bps - ideális alapértelmezésnek, ezért - keresi alapból a tip1200 - bejegyzést. Ez természetesen nem jelenti azt, - hogy 1200 bps sebességgel is kell - használnunk a modemet. + A &os; kézikönyvben lásd ezt + a választ. @@ -13617,31 +13335,9 @@ - Ahelyett, hogy minden egyes alkalommal - megvárnánk, amíg csatlakozunk és - begépeljük a CONNECT - gép parancsot, - próbáljuk meg kihasználni a &man.tip.1; - cm tulajdonságát. - Például vegyük fel a következõ - bejegyzéseket az /etc/remote - állományba (lásd - &man.remote.5;): - - pain|pain.deep13.com|Forrester's machine:\ - :cm=CONNECT pain\n:tc=deep13: -muffin|muffin.deep13.com|Frank's machine:\ - :cm=CONNECT muffin\n:tc=deep13: -deep13:Gizmonics Institute terminal server:\ - :dv=/dev/cuaa2:br#38400:at=hayes:du:pa=none:pn=5551234: - - Ennek köszönhetõen a tip - pain vagy a tip muffin parancsok - használatával közvetlenül - csatlakozni tudunk a pain és - muffin gépekhez. A tip - deep13 parancs csatlakoztat a - terminálszerverhez. + A &os; kézikönyvben lásd ezt + a választ. @@ -13653,40 +13349,9 @@ - Sokszor találkozunk ezzel a >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Aug 4 20:20:00 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B10211065693; Mon, 4 Aug 2008 20:20:00 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7306F106567F for ; Mon, 4 Aug 2008 20:20:00 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 60E178FC0C for ; Mon, 4 Aug 2008 20:20:00 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m74KK0w6041925 for ; Mon, 4 Aug 2008 20:20:00 GMT (envelope-from remko@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m74KK05h041923 for perforce@freebsd.org; Mon, 4 Aug 2008 20:20:00 GMT (envelope-from remko@freebsd.org) Date: Mon, 4 Aug 2008 20:20:00 GMT Message-Id: <200808042020.m74KK05h041923@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to remko@freebsd.org using -f From: Remko Lodder To: Perforce Change Reviews Cc: Subject: PERFORCE change 146651 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, 04 Aug 2008 20:20:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=146651 Change 146651 by remko@remko_nakur on 2008/08/04 20:19:45 Update my work in progress for the FAQ. Dreads to: pgj for making the FAQ worthwhile to translate. Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/faq/book.sgml#4 edit Differences ... ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/faq/book.sgml#4 (text+ko) ==== @@ -14,8 +14,8 @@ - Frequently Asked Questions for &os; - 6.<replaceable>X</replaceable> and + <title>Veelgestelde vragen (FAQ) voor &os; + 6.<replaceable>X</replaceable> en 7.<replaceable>X</replaceable> The &os; Dutch Documentation Project @@ -67,22 +67,23 @@ - Dit zijn de veel gestelde vragen (ofwel FAQ, Frequently - Asked Questions) voor &os; versies + Dit zijn de veel gestelde vragen (ofwel + FAQ) voor &os; versies 6.X en 7.X. Alle inhoud wordt geacht relevant te zijn voor &os; 6.X en - later, tenzij anders vermeld. Als je geinteresseerd bent in - het helpen met dit project, stuur dan een email naar de + later, tenzij anders vermeld. Als je geïnteresseerd bent + om te helpen met het project, stuur dan een email naar de &a.doc;. De laatste versie van dit document is altijd - beschikbaar op &os Web server. + beschikbaar op de &os; Web server. Het kan ook gedownload worden als één groot HTML bestand door middel van - HTTP, of als gewone tekst, &postscript, PDF, etc. vanaf de + HTTP, of als gewone tekst, &postscript;, PDF, etc. vanaf de &os; FTP server. Ook is er de mogelijkheid om de - FAQ te doorzoeken. + FAQ te doorzoeken. Vertaald naar het Nederlands door &a.remko; @@ -91,16 +92,16 @@ Introductie - Welcome bij &os; + Welcome bij de &os; 6.X-7.X FAQ. Zoals gewoonlijk met Usenet FAQs, probeert dit document de meest gevraagde vragen te beantwoorden voor het &os; besturings - systeem. Hoewel origineel bedoeld om bandbreedte te verminderen - en om te voorkomen dat de zelfde oude vragen keer op keer terug - komen, worden FAQs steeds meer gezien als waardevolle informatie - bronnen. + systeem. Hoewel van origine bedoeld om bandbreedte verbruik + te reduceren en om te voorkomen dat dezelfde oude vragen keer + op keer opnieuw gesteld worden, worden FAQ's steeds meer gezien + als waardevolle informatie bron. Er is alles aan gedaan om deze FAQ zo informatief als mogelijk te maken; als je suggesties hebt over hoe dit verbeterd kan worden @@ -116,21 +117,21 @@ In het kort: &os; is een &unix; achtig besturingssysteem voor AMD64 en de &intel; EM64T, &i386;, PC-98, IA-64, &arm;, &powerpc; en &ultrasparc; platformen gebaseerd op U.C. - Berkeley's 4.4BSD-Lite uitgifte, met een aantal - 4.4-Lite2 toevoegingen. Het is ook indirect - gebaseer op William Jolitz's port van U.C. Berkeley's - Net/2 naar de &i386;, ook wel bekend als - 386BSD, echter er is maar weinig van de - 386BSD code overgebleven. Een volledigere beschrijving van - wat &os; is en hoe dit voor jou kan werken kan gevonden worden - op de 4.4BSD-Lite uitgifte, met een + aantal 4.4-Lite2 toevoegingen. Het is ook + indirect gebaseer op William Jolitz's port van U.C. + Berkeley's Net/2 naar de &i386;, ook wel + bekend als 386BSD, echter er is maar weinig + van de 386BSD code overgebleven. Een volledigere + beschrijving van wat &os; is en hoe dit voor jou kan werken + kan gevonden worden op de &os; home page. &os; wordt gebruikt door bedrijven, Internet Service Providers, onderzoekers, computer professionals, studenten - en thuis gebruikers over de hele wereld voor werk, opleidingen - en recreatie. + en thuis gebruikers over de hele wereld voor werk, + opleidingen en recreatie. Voor meer gedetailleerde informatie over &os; zie het De meeste mensen gebruiken niet echt een - besturingssysteem. Ze gebruiken applicaties. Deze applicaties - zijn de eigenlijke gebruikers van het besturingssysteem. - &os; is ontworpen om een robuust en volledige omgeving - te leveren voor applicaties. Het ondersteund een grote - variateit aan web browers, office suites, email programma's, - grafische programma's, ontwikkel omgevingen, netwerk servers - en zowat alles wat je zou kunnen willen. De meeste van deze - applicaties kunnen bediend worden door de - Ports Collectie. @@ -229,14 +230,14 @@ applicatie beschikbaar is voor &os;. Als je een solide kantoor of internet server wilt, en betrouwbaar werkstation of gewoon de mogelijkheid om je werk te doen zonder - onderbrekingen, zal &os; zeker doen wat je wilt. Veel computer - gebruikers over de hele wereld, zowel beginners als ervaren - &unix; beheerders, gebruiken &os; als enige desktop + onderbrekingen, zal &os; zeker doen wat je wilt. Veel + computer gebruikers over de hele wereld, zowel beginners als + ervaren &unix; beheerders, gebruiken &os; als enige desktop besturingssysteem. Als je migreert naar &os; vanuit een andere &unix; omgeving, weet je waarschijnlijk de meeste dingen al. Als - echter je achtergrond is in grafisch georienteerde + echter je achtergrond is in grafisch ge&eoml;rienteerde besturingssystemen zoals &windows; en oudere versie van &macos;, moet er rekening mee gehouden worden om de &unix; manier van dingen doen te leren. Deze FAQ en het @@ -266,8 +267,8 @@ - Iedereen die een verbeterin of bug fix heeft, is vrij - om die code te versturen, om het uiteindelijk in de + Iedereen die een verbeterin of bug fix heeft, is + vrij om die code te versturen, om het uiteindelijk in de broncode boom te krijgen (buiten de één of twee duidelijke voorwaarden). @@ -275,8 +276,8 @@ Het is belangrijk om erop te wijzen dat het woord vrij op twee manieren gebruikt wordt, - het ene betekend kostenloos, het andere - betekend je mag ermee doen wat je wilt. + het ene betekent kostenloos, het andere + betekent je mag ermee doen wat je wilt. Buiten één of twee dingen die je er niet mee kan doen, zoals bijvoorbeeld voordoen alsof je de code zelf geschreven hebt, kun je er @@ -287,7 +288,7 @@ Wat zijn de verschillen tussen &os; en NetBSD, OpenBSD, - en andere open source BSD besturingssystemen? + en andere opensource BSD besturingssystemen? @@ -306,18 +307,14 @@ Wat is de laatste versie van &os;? - - Op dit moment binnen &os;'s ontwikkeling, zijn er twee paralelle ontwikkel omgevingen, uitgiftes worden gedaan uit beide branches. De 6.X serie - uitgiftes worden gemaakt uit de 6-STABLE - tak en de 7.X serie uitgiftes - worden gemaakt uit de 7-STABLE tak. + uitgiftes worden gemaakt uit de + 6-STABLE tak en de + 7.X serie uitgiftes worden + gemaakt uit de 7-STABLE tak. Tot en met de uitgifte van 7.0, was 6.X serie, degeen die bekend @@ -343,12 +340,12 @@ In het kort, -STABLE is gericht op de ISP, zakelijke gebruiker, of voor elke gebruiker die stabiliteit wilt met een beperkt nummer aan wijzigingen - verlegen met de nieuwe (en mogelijk onstabiele) mogelijkheden - van de laatste -CURRENT tak. Uitgiftes - kunnen uit beide takken komen, maar - -CURRENT zou alleen gebruikt moeten worden - als je bereid bent voor het risico, ten opzichte van de - -STABLE tak. + verlegen met de nieuwe (en mogelijk onstabiele) + mogelijkheden van de laatste -CURRENT + tak. Uitgiftes kunnen uit beide takken komen, maar + -CURRENT zou alleen gebruikt moeten + worden als je bereid bent om het risico te nemen ten + opzichte van de -STABLE tak. Uitgiftes worden elke paar maanden gedaan. @@ -381,7 +378,8 @@ url="&url.books.handbook;/cutting-edge.html#CURRENT">relevante sectie in het handboek voor - details over het draaien van -CURRENT. + details over het draaien van + -CURRENT. Als je niet bekend bent met het besturingssysteem of niet in staat bent om de verschillen te zien tussen een @@ -426,25 +424,25 @@ Om ervoor te zorgen dat alle nieuwe toevoegingen en - reparaties die getest moeten worden, door zoveel mogelijk - potentiele testers getest kan worden. + reparaties die getest moeten worden, door zoveel + mogelijk potentiële testers getest kan worden. Er wordt nooit geclaimed dat een willekeurige - -CURRENT snapshot, gezien kan worden als - productie kwaliteit voor elke toepassing. Als - je een stabiel en volledig getest systeem wilt, zal je + -CURRENT snapshot, gezien kan worden + als productie kwaliteit voor elke toepassing. + Als je een stabiel en volledig getest systeem wilt, zal je gebruik moeten maken van volledige uitgiftes, of gebruik maken van -STABLE snapshots. Snapshot uitgiftes zijn direct beschikbaar via de - snapshot server. - + snapshot + server. - Officiele snapshots worden elke maand gegenereerd op een - periodieke basis voor alle actief ontwikkelde takken. Er - zijn ook dagelijkse snapshot builds voor de populaire + Officiële snapshots worden elke maand gegenereerd + op een periodieke basis voor alle actief ontwikkelde takken. + Er zijn ook dagelijkse snapshot builds voor de populaire architecturen &arch.i386; en &arch.amd64; gehost op . @@ -470,13 +468,14 @@ onwenselijk zijn. Deze krijgen alleen goed geteste bug-oplossingen en andere kleine omhooglopende verbeteringen. &os;-CURRENT aan de andere kant is - één ononderbroken lijn sinds 2.0 was uitgegeven, - wat leide tot &rel.current;-RELEASE en later. Voor meer - gedetailleerde informatie over de ontwikkel takken zie - &os; Release Engineering: Creating the Release Branch, + één ononderbroken lijn sinds 2.0 was + uitgegeven, wat leidde tot &rel.current;-RELEASE en later. + Voor meer gedetailleerde informatie over de ontwikkeltakken + zie &os; Release Engineering: Creating the Release Branch, de status van de takken en het schema voor aankomende uitgiftes kan gevonden worden op de Release Engineering Information + url="http://www.FreeBSD.org/releng">Release Engineering informatie pagina. De 2.2-STABLE tak werd afgebroken met de uitgifte van @@ -493,127 +492,135 @@ name gericht zijn op beveiligings-gerelateerde patches en andere serieuze kwesties. - &rel.current;-STABLE is the actively developed - -STABLE branch. The latest release on - the &rel.current;-STABLE branch is &rel.current;-RELEASE, - which was released in &rel.current.date;. + &rel.current;-STABLE is de tak die actief ontwikkeld + en onderhouden wordt. De laatste uitgifte binnen de + &rel.current;-STABLE tak is &rel.current;-RELEASE, + welke uitgegeven werd op &rel.current.date;. - The 8-CURRENT branch is the actively developed - -CURRENT branch toward the next - generation of &os;. See What is &os;-CURRENT? for more - information on this branch. + De 8-CURRENT tak is de actief ontwikkelde + -CURRENT tak, welke zal leiden tot de + nieuwe generatie van &os;. Zie Wat is &os;-CURRENT? voor meer + informatie over deze branch. - When are &os; releases made? + Wanneer worden &os; versies gemaakt? - The &a.re; releases a new major version of &os; about - every 18 months and a new minor version about every 8 months, - on average. Release dates are announced well in advance, so - that the people working on the system know when their - projects need to be finished and tested. A testing period - precedes each release, in order to ensure that the addition - of new features does not compromise the stability of the - release. Many users regard this caution as one of the best - things about &os;, even though waiting for all the latest - goodies to reach -STABLE can be a - little frustrating. + Het &a.re; geeft ongeveer elke 18 maanden een grote + nieuwe versie uit, en om de 8 maanden een kleinere nieuwe + versie. Uitgifte data worden ruim van te voren bekend + gemaakt, zodat mensen de mensen die aan het systeem werken, + weten wanneer de projecten klaar moeten zijn en wanneer + ze getest moeten zijn. Een test periode gaat altijd vooraf + aan elke uitgifte om ervoor te zorgen dat de toevoeging van + nieuwe functionaliteit geen invloed heeft op de stabiliteit + van de versie. Veel gebruikers zien deze terughoudendheid + als één van de beste dingen van &os;, ook al + kan het wachten op alle nieuwe gadgets in + -STABLE een beetje frustrerend + zijn. - More information on the release engineering process - (including a schedule of upcoming releases) can be found on - the Meer informatie over het releage engineering + process (inclusief een schema van opkomende versies) + kan gevonden worden op de release engineering - pages on the &os; Web site. + pagina's op de &os; website. - For people who need or want a little more excitement, - binary snapshots are made daily as discussed above. + Voor mensen die een beetje meer spanning nodig hebben + of willen, kunnen de dagelijkse snapshots gebruiken + zoals hierboven besproken. - Who is responsible for &os;? + Wie is verantwoordelijk voor &os;? - The key decisions concerning the &os; project, such as - the overall direction of the project and who is allowed to - add code to the source tree, are made by a core team of - 9 people. There is a much larger team of more than 350 + Belangrijke beslissingen die het hele &os; project + aangaan, zoals de globale richting van het project en + wie het is toegestaan om code in de broncode boom + toe te voegen, worden gemakt door een core team + van 9 mensen. Er is een veel groter team van meer dan 350 committers - who are authorized to make changes directly to the &os; - source tree. + url="&url.articles.contributors;/article.html#STAFF-COMMITTERS">ontwikkelaars + die bevoegd zijn om direct wijzingen aan te brengen in de + &os; broncode. - However, most non-trivial changes are discussed in - advance in the mailing lists, - and there are no restrictions on who may take part in the - discussion. + Echter, de meeste niet triviale wijzigingen worden + eerst bediscussieerd op de mailing lijsten waarbij er geen + restricties zijn over wie er wel en niet mag deelnemen + aan de discussie. - Where can I get &os;? + Hoe kom ik aan &os;? - Every significant release of &os; is available via - anonymous FTP from the &os; FTP site: + Elke significante versie van &os; is beschikbaar + via anonieme FTP via de &os; FTP site: - The latest 7-STABLE release, &rel.current;-RELEASE - can be found in the De laatste 7-STABLE versie, &rel.current;-RELEASE + kan gevonden worden in de &rel.current;-RELEASE directory. - Snapshot - releases are made monthly for the -CURRENT and -STABLE branch, these being of - service purely to bleeding-edge testers and - developers. + Snapshot + versies worden maandelijks gemaakt voor de -CURRENT en -STABLE takken, welke met + name van nut zijn voor mensen die het scherp van + de snede willen testen en ontwikkelaars. - The latest 6-STABLE release, &rel2.current;-RELEASE - can be found in the De laatste 6-STABLE versie, &rel2.current;-RELEASE + kan gevonden worden in de &rel2.current;-RELEASE directory. - Information about obtaining &os; on CD, DVD, and other - media can be found in the Handbook. + Informatie over het verkrijgen van &os; op CD, DVD en + andere media kan gevonden worden in Het Handboek. - How do I access the Problem Report database? + Hoe krijg ik toegang tot de Problem Report + database? - The Problem Report database of all user change requests - may be queried by using our web-based PR query - interface. + De Problem Report database van alle wijzigings verzoeken + van de gebruikers kan gebruikt worden met behulp van ons + web gebaseerde PR opzoek + pagina. - The &man.send-pr.1; command can be used to submit - problem reports and change requests via electronic mail. + Het &man.send-pr.1; commando kan gebruikt worden om + probleem rapporten en wijzigings verzoeken te versturen + via electronische email. Alternatively, the web-based problem report submission interface can be used to submit problem reports through a web From owner-p4-projects@FreeBSD.ORG Mon Aug 4 20:40:21 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9DCE11065678; Mon, 4 Aug 2008 20:40:21 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6210A106567C for ; Mon, 4 Aug 2008 20:40:21 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 523168FC1C for ; Mon, 4 Aug 2008 20:40:21 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m74KeLfg043990 for ; Mon, 4 Aug 2008 20:40:21 GMT (envelope-from remko@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m74KeLQ9043988 for perforce@freebsd.org; Mon, 4 Aug 2008 20:40:21 GMT (envelope-from remko@freebsd.org) Date: Mon, 4 Aug 2008 20:40:21 GMT Message-Id: <200808042040.m74KeLQ9043988@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to remko@freebsd.org using -f From: Remko Lodder To: Perforce Change Reviews Cc: Subject: PERFORCE change 146654 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, 04 Aug 2008 20:40:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=146654 Change 146654 by remko@remko_nakur on 2008/08/04 20:39:53 Make it compile Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/faq/book.sgml#5 edit Differences ... ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/faq/book.sgml#5 (text+ko) ==== @@ -237,7 +237,7 @@ Als je migreert naar &os; vanuit een andere &unix; omgeving, weet je waarschijnlijk de meeste dingen al. Als - echter je achtergrond is in grafisch ge&eoml;rienteerde + echter je achtergrond is in grafisch geërienteerde besturingssystemen zoals &windows; en oudere versie van &macos;, moet er rekening mee gehouden worden om de &unix; manier van dingen doen te leren. Deze FAQ en het From owner-p4-projects@FreeBSD.ORG Mon Aug 4 20:57:39 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AA49F106568B; Mon, 4 Aug 2008 20:57:39 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6E39C106567C for ; Mon, 4 Aug 2008 20:57:39 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5DC278FC0A for ; Mon, 4 Aug 2008 20:57:39 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m74Kvcr4054709 for ; Mon, 4 Aug 2008 20:57:38 GMT (envelope-from remko@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m74KvcwM054707 for perforce@freebsd.org; Mon, 4 Aug 2008 20:57:38 GMT (envelope-from remko@freebsd.org) Date: Mon, 4 Aug 2008 20:57:38 GMT Message-Id: <200808042057.m74KvcwM054707@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to remko@freebsd.org using -f From: Remko Lodder To: Perforce Change Reviews Cc: Subject: PERFORCE change 146656 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, 04 Aug 2008 20:57:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=146656 Change 146656 by remko@remko_nakur on 2008/08/04 20:56:39 The first chapter had been translated, and some minor fixes. Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/faq/book.sgml#6 edit Differences ... ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/faq/book.sgml#6 (text+ko) ==== @@ -607,12 +607,12 @@ - Hoe krijg ik toegang tot de Problem Report + Hoe krijg ik toegang tot de Probleem Rapporten database? - De Problem Report database van alle wijzigings verzoeken + De Problem Rapport database van alle wijzigings verzoeken van de gebruikers kan gebruikt worden met behulp van ons web gebaseerde PR opzoek @@ -620,27 +620,28 @@ Het &man.send-pr.1; commando kan gebruikt worden om probleem rapporten en wijzigings verzoeken te versturen - via electronische email. - Alternatively, the web-based problem report submission interface - can be used to submit problem reports through a web - browser. + via electronische email. Daarnaast kan de web-gebaseerde probleem rapport interface + gebruikt worden om probleem rapporten op te sturen door + een web browser. - Before submitting a problem report, please read Writing &os; Problem Reports, - an article on how to write good problem reports. + Voordat een probleem rapport verstuurd kan worden + lees eerst Schrijven van &os; Probleem rapportages + een artikel over hoe goede probleem rapportages + geschreven kunnen worden. - What other sources of information are there? + Welke andere informatie bronnen zijn er? - Please check the Documentation - list on the main Kijk aub op de documentatie + lijst op de &os; web site. From owner-p4-projects@FreeBSD.ORG Tue Aug 5 01:42:36 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2A06E106567B; Tue, 5 Aug 2008 01:42:36 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E21171065675 for ; Tue, 5 Aug 2008 01:42:35 +0000 (UTC) (envelope-from diego@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D01978FC13 for ; Tue, 5 Aug 2008 01:42:35 +0000 (UTC) (envelope-from diego@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m751gZa0098068 for ; Tue, 5 Aug 2008 01:42:35 GMT (envelope-from diego@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m751gZiP098066 for perforce@freebsd.org; Tue, 5 Aug 2008 01:42:35 GMT (envelope-from diego@FreeBSD.org) Date: Tue, 5 Aug 2008 01:42:35 GMT Message-Id: <200808050142.m751gZiP098066@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to diego@FreeBSD.org using -f From: Diego Giagio To: Perforce Change Reviews Cc: Subject: PERFORCE change 146676 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, 05 Aug 2008 01:42:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=146676 Change 146676 by diego@diego_black on 2008/08/05 01:41:38 Improve preallocation of audit records. Affected files ... .. //depot/projects/soc2008/diego-audit/src/sys/security/audit/audit.c#6 edit .. //depot/projects/soc2008/diego-audit/src/sys/security/audit/audit.h#14 edit Differences ... ==== //depot/projects/soc2008/diego-audit/src/sys/security/audit/audit.c#6 (text) ==== @@ -483,25 +483,25 @@ mtx_unlock(&audit_mtx); } +/* + * Check if there's already a record being constructed. If true, save it + * into thread's record queue. + */ static void audit_enter(struct thread *td) { - /* - * Check if there's already a record being constructed. If true, move - * it temporarily into our record queue. currecord() will now point to - * the new record. - */ if (td->td_ar != NULL) TAILQ_INSERT_TAIL(td->td_arq, td->td_ar, k_q); + td->td_ar = NULL; } +/* + * Check if there were a previous record being constructed. If true, make it + * the current record and remove it from thread's record queue. + */ static void audit_exit(struct thread *td) { - /* - * If there were a previous record begin constructed, return it to - * currecord() and remove it from record queue. - */ td->td_ar = TAILQ_LAST(td->td_arq, kaudit_queue); if (td->td_ar != NULL) TAILQ_REMOVE(td->td_arq, td->td_ar, k_q); @@ -516,6 +516,7 @@ void audit_syscall_enter(unsigned short code, struct thread *td) { + struct kaudit_record *ar; au_event_t event; /* @@ -533,8 +534,16 @@ if (event == AUE_NULL) return; - audit_enter(td); - td->td_ar = audit_begin(event, td); + ar = audit_begin(event, td); + if (ar != NULL) { + /* + * Save the current record into thread's record queue and + * create a new record. + */ + + audit_enter(td); + td->td_ar = ar; + } } /* @@ -559,6 +568,45 @@ else retval = td->td_retval[0]; + /* + * Commit the current record. Turn the previous saved record into the + * current one. + */ + audit_commit(td->td_ar, error, retval); + audit_exit(td); +} + +void +audit_pfil_enter(unsigned short event, struct thread *td) +{ + struct kaudit_record *ar; + + ar = audit_begin(event, td); + if (ar != NULL) { + /* + * Save the current record into thread's record queue and + * create a new record. + */ + + audit_enter(td); + td->td_ar = ar; + } +} + +void +audit_pfil_exit(int error, struct thread *td) +{ + int retval; + + if (error) + retval = -1; + else + retval = 0; + + /* + * Commit the current record. Turn the previous saved record into the + * current one. + */ audit_commit(td->td_ar, error, retval); audit_exit(td); } ==== //depot/projects/soc2008/diego-audit/src/sys/security/audit/audit.h#14 (text) ==== @@ -127,6 +127,9 @@ /* * Functions for auditing packet filter events. */ +void audit_pfil_enter(unsigned short event, struct thread *td); +void audit_pfil_exit(int error, struct thread *td); + void audit_ipfw_enable(int error); void audit_ipfw_disable(int error); void audit_ipfw_addrule(int set, int rulenum, int error); From owner-p4-projects@FreeBSD.ORG Tue Aug 5 09:30:39 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9B8FB106567D; Tue, 5 Aug 2008 09:30:39 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 458D2106566B for ; Tue, 5 Aug 2008 09:30:39 +0000 (UTC) (envelope-from snagg@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 33CF68FC21 for ; Tue, 5 Aug 2008 09:30:39 +0000 (UTC) (envelope-from snagg@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m759UduW063000 for ; Tue, 5 Aug 2008 09:30:39 GMT (envelope-from snagg@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m759UdlP062998 for perforce@freebsd.org; Tue, 5 Aug 2008 09:30:39 GMT (envelope-from snagg@FreeBSD.org) Date: Tue, 5 Aug 2008 09:30:39 GMT Message-Id: <200808050930.m759UdlP062998@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to snagg@FreeBSD.org using -f From: Vincenzo Iozzo To: Perforce Change Reviews Cc: Subject: PERFORCE change 146686 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, 05 Aug 2008 09:30:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=146686 Change 146686 by snagg@snagg_macosx on 2008/08/05 09:30:33 Added testing cases for kill and setresuid. Affected files ... .. //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/audit_pipe_regression_test_utils.c#7 edit .. //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/audit_pipe_regression_test_utils.h#5 edit .. //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/specific-event/audit_pipe_event_close.c#2 edit .. //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/specific-event/audit_pipe_event_kill.c#1 add .. //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/specific-event/audit_pipe_event_open.c#5 edit .. //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/specific-event/audit_pipe_event_setgid.c#3 edit .. //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/specific-event/audit_pipe_event_setresuid.c#1 add .. //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/specific-event/audit_pipe_event_setuid.c#3 edit Differences ... ==== //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/audit_pipe_regression_test_utils.c#7 (text+ko) ==== @@ -374,6 +374,7 @@ return 0; } + /* * Check the pid and privilege of a bsm-token */ @@ -387,6 +388,18 @@ } /* + * Check the pid and privilege of an external process + */ +int check_ext_priv(au_proc32_t priv, struct ext_priv p) +{ + if(priv.pid == p.pid && priv.euid == p.euid && priv.ruid == p.ruid && + priv.rgid == p.rgid && priv.egid == p.egid) + return 1; + + return 0; +} + +/* * Check attributes of fd from a bsm-token */ int check_fd(au_attr32_t attr, int fd) ==== //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/audit_pipe_regression_test_utils.h#5 (text+ko) ==== @@ -82,6 +82,15 @@ int count; }; +struct ext_priv +{ + int pid; + int euid; + int ruid; + int rgid; + int egid; +}; + void init_channel(); void init_channel_primary(); void end_channel(); ==== //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/specific-event/audit_pipe_event_close.c#2 (text+ko) ==== @@ -272,7 +272,7 @@ if(count == INT_TYPE) { if(!strncmp(descr, "fd", 2)) elem->fd = get_int(shared_string); - else if (!strncmp(descr, "ret", 3)) + else elem->ret = get_int(shared_string); } else if ( count == STRING_TYPE) ==== //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/specific-event/audit_pipe_event_open.c#5 (text+ko) ==== @@ -204,7 +204,7 @@ break; case AUT_ARG32: - if(tok.tt.arg32.no == 2) { + if(tok.tt.arg32.no == 2) { ret = check_arg(tok.tt.arg32, tmp->arg2); if(!ret) report_error(tok, f); ==== //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/specific-event/audit_pipe_event_setgid.c#3 (text+ko) ==== @@ -113,7 +113,6 @@ { int i, ret, reclen, bytesread, to_parse; struct setgid_record *tmp, *elem; - struct audit_record *p, *el; int err = -1; tokenstr_t tok; u_char *buf; @@ -245,7 +244,7 @@ if(count == INT_TYPE) { if(!strncmp(descr, "gid", 3)) elem->gid = get_int(shared_string); - else if (!strncmp(descr, "ret", 3)) + else elem->ret = get_int(shared_string); } else if ( count == STRING_TYPE) ==== //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/specific-event/audit_pipe_event_setuid.c#3 (text+ko) ==== @@ -245,7 +245,7 @@ if(count == INT_TYPE) { if(!strncmp(descr, "uid", 3)) elem->uid = get_int(shared_string); - else if (!strncmp(descr, "ret", 3)) + else elem->ret = get_int(shared_string); } else if ( count == STRING_TYPE) From owner-p4-projects@FreeBSD.ORG Tue Aug 5 09:32:42 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AFEBE1065684; Tue, 5 Aug 2008 09:32:41 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 738BC1065676 for ; Tue, 5 Aug 2008 09:32:41 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6233F8FC1E for ; Tue, 5 Aug 2008 09:32:41 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m759WfHq063139 for ; Tue, 5 Aug 2008 09:32:41 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m759Wf4w063137 for perforce@freebsd.org; Tue, 5 Aug 2008 09:32:41 GMT (envelope-from trasz@freebsd.org) Date: Tue, 5 Aug 2008 09:32:41 GMT Message-Id: <200808050932.m759Wf4w063137@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 146687 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, 05 Aug 2008 09:32:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=146687 Change 146687 by trasz@trasz_traszkan on 2008/08/05 09:32:37 Fix ZFS support. Btw, granularity for ZFS is already there. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/TODO#29 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/acl_compat.c#2 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/TODO#29 (text+ko) ==== @@ -14,8 +14,6 @@ acl_set_extended_np, acl_set_flagset_np, acl_to_text_np, acl_is_trivial_np, acl_strip_np. -- Add granular access control to ZFS. - - Write code to do the same operations on UFS and ZFS and compare results. - Make 'struct acl' variable size. ==== //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/acl_compat.c#2 (text+ko) ==== @@ -139,6 +139,7 @@ bzero(aclp, sizeof(*aclp)); aclp->acl_cnt = nentries; + aclp->acl_magic = ACL_MAGIC; for (i = 0; i < nentries; i++) { entry = &(aclp->acl_entry[i]); From owner-p4-projects@FreeBSD.ORG Tue Aug 5 09:38:48 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 234A41065679; Tue, 5 Aug 2008 09:38:48 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DB7131065677 for ; Tue, 5 Aug 2008 09:38:47 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CA11D8FC14 for ; Tue, 5 Aug 2008 09:38:47 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m759clTX064110 for ; Tue, 5 Aug 2008 09:38:47 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m759clmr064108 for perforce@freebsd.org; Tue, 5 Aug 2008 09:38:47 GMT (envelope-from trasz@freebsd.org) Date: Tue, 5 Aug 2008 09:38:47 GMT Message-Id: <200808050938.m759clmr064108@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 146689 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, 05 Aug 2008 09:38:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=146689 Change 146689 by trasz@trasz_traszkan on 2008/08/05 09:38:31 Update TODO. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/TODO#30 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/TODO#30 (text+ko) ==== @@ -14,14 +14,14 @@ acl_set_extended_np, acl_set_flagset_np, acl_to_text_np, acl_is_trivial_np, acl_strip_np. -- Write code to do the same operations on UFS and ZFS and compare results. +- Enhance fstest with checks for NFS4 ACL functionality. - Make 'struct acl' variable size. - Benchmark things. -- Add a flag to inode to mark whether the file has ACL; don't try to read ACL extatrr - if the flag is not set. +- (maybe) Add a flag to inode to mark whether the file has ACL; + don't try to read ACL extatrr if the flag is not set. - Write library that implements SunOS acl(2)/facl(2) as wrappers around __acl_whatever syscalls. Use it in Samba. From owner-p4-projects@FreeBSD.ORG Tue Aug 5 10:02:12 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1C18B106567B; Tue, 5 Aug 2008 10:02:12 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D32A11065675 for ; Tue, 5 Aug 2008 10:02:11 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A7B928FC15 for ; Tue, 5 Aug 2008 10:02:11 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m75A2BuB065978 for ; Tue, 5 Aug 2008 10:02:11 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m75A2Bcs065976 for perforce@freebsd.org; Tue, 5 Aug 2008 10:02:11 GMT (envelope-from trasz@freebsd.org) Date: Tue, 5 Aug 2008 10:02:11 GMT Message-Id: <200808051002.m75A2Bcs065976@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 146691 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, 05 Aug 2008 10:02:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=146691 Change 146691 by trasz@trasz_traszkan on 2008/08/05 10:01:20 Update TODO. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/TODO#31 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/TODO#31 (text+ko) ==== @@ -2,6 +2,8 @@ - Make setfacl(1) error messages more user friendly. +- Add support for NFS4 ACLs to cp(1), mv(1) and tar(1). + - Clean up #defines. For example, make VREAD_NAMED_ATTRS equal to ACL_READ_NAMED_ATTRS, so there is no need for translation between the two in kern/subr_acl_nfs4.c. From owner-p4-projects@FreeBSD.ORG Tue Aug 5 11:33:45 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AE33C106567C; Tue, 5 Aug 2008 11:33:45 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 580561065674 for ; Tue, 5 Aug 2008 11:33:45 +0000 (UTC) (envelope-from snagg@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4698F8FC15 for ; Tue, 5 Aug 2008 11:33:45 +0000 (UTC) (envelope-from snagg@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m75BXj4u076346 for ; Tue, 5 Aug 2008 11:33:45 GMT (envelope-from snagg@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m75BXjON076344 for perforce@freebsd.org; Tue, 5 Aug 2008 11:33:45 GMT (envelope-from snagg@FreeBSD.org) Date: Tue, 5 Aug 2008 11:33:45 GMT Message-Id: <200808051133.m75BXjON076344@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to snagg@FreeBSD.org using -f From: Vincenzo Iozzo To: Perforce Change Reviews Cc: Subject: PERFORCE change 146695 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, 05 Aug 2008 11:33:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=146695 Change 146695 by snagg@snagg_macosx on 2008/08/05 11:33:16 Fix a bug in open(2) tests, add rename(2) tests Affected files ... .. //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/audit_pipe_regression_test_utils.c#8 edit .. //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/audit_pipe_regression_test_utils.h#6 edit .. //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/specific-event/audit_pipe_event_open.c#6 edit .. //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/specific-event/audit_pipe_event_rename.c#1 add Differences ... ==== //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/audit_pipe_regression_test_utils.c#8 (text+ko) ==== @@ -127,7 +127,7 @@ ptr = string; sem_post(mutex_client); - return ptr; + return (ptr); } /* @@ -144,7 +144,7 @@ if((string = strsep(&str, "\\!!")) != NULL) { str +=2; - return str; + return (str); } } @@ -157,19 +157,19 @@ { char *str; if(!strncmp(string, "END", 3)) - return -1; + return (-1); str = string; if((string = strsep(&str, ":**")) != NULL) { if(!strncmp(str, "**INT", 5)) - return INT_TYPE; + return (INT_TYPE); if(!strncmp(str, "**CHAR",6)) - return CHAR_TYPE; + return (CHAR_TYPE); if(!strncmp(str, "**STRING",8)) - return STRING_TYPE; + return (STRING_TYPE); } - return -1; + return (-1); } /* @@ -181,16 +181,16 @@ char *val; if(string == NULL) - return -1; + return (-1); ret = strtol(string, &val, 0); if(!ret && errno == EINVAL) - return -1; + return (-1); if(*val == '\0') - return ret; + return (ret); - return -1; + return (-1); } /* @@ -199,11 +199,11 @@ char get_c(char *string) { if(strlen(string) != sizeof(char)) - return '\0'; + return ('\0'); else - return string[0]; + return (string[0]); - return '\0'; + return ('\0'); } /* @@ -244,7 +244,7 @@ fprintf(st, "\n"); count++; if(count == 20) - return -1; + return (-1); if(exit) break; if(*buffer == AU_TRAILER_TOKEN) @@ -252,7 +252,7 @@ } fflush(st); - return 0; + return (0); } @@ -303,7 +303,7 @@ break; } - return p; + return (p); } /* @@ -320,7 +320,7 @@ if(f == NULL) err(-1, "FOPEN"); - return f; + return (f); } void report_error(tokenstr_t tok, FILE *f) @@ -340,10 +340,10 @@ if(ret.ret == r) if(!ret.status) if(!strncmp(val, "success", strlen(val))) - return 1; + return (1); else if(!strncmp(strerror(ret.status), val, strlen(val))) - return 1; - return 0; + return (1); + return (0); } /* @@ -352,12 +352,12 @@ int check_path(au_path_t path, char *val) { if(!path.len) - return -1; + return (-1); if(!strncmp(path.path, val, path.len > strlen(val)? path.len: strlen(val))) - return 1; + return (1); - return 0; + return (0); } /* @@ -366,12 +366,12 @@ int check_arg(au_arg32_t arg, long val) { if(!arg.len) - return -1; + return (-1); if(arg.val == val) - return 1; + return (1); - return 0; + return (0); } @@ -382,9 +382,9 @@ { if(priv.pid == pid && priv.euid == geteuid() && priv.ruid == getuid() && priv.rgid == getgid() && priv.egid == getegid()) - return 1; + return (1); - return 0; + return (0); } /* @@ -394,9 +394,23 @@ { if(priv.pid == p.pid && priv.euid == p.euid && priv.ruid == p.ruid && priv.rgid == p.rgid && priv.egid == p.egid) - return 1; + return (1); + + return (0); +} + +int check_attr_path(au_attr32_t attr, char *path) +{ + struct stat s; + + if(stat(path, &s) == -1) + return (0); + + if(attr.mode == (s.st_mode & ALLPERMS) && attr.uid == s.st_uid && attr.gid == s.st_gid && + attr.nid == s.st_ino && attr.dev == s.st_dev) + return (1); - return 0; + return (0); } /* @@ -407,12 +421,13 @@ struct stat s; if(fstat(fd, &s) == -1) - return 0; + return (0); + if(attr.mode == (s.st_mode & ALLPERMS) && attr.uid == s.st_uid && attr.gid == s.st_gid && attr.nid == s.st_ino && attr.dev == s.st_dev) - return 1; + return (1); - return 0; + return (0); } int setup_auditpipe(int pid) @@ -437,7 +452,8 @@ if (ioctl(fd, AUDITPIPE_SET_PRESELECT_PROC, entry) < 0) err(-1, "AUDITPIPE_SET_PRESELECT_EVENTS"); - return fd; + + return (fd); } void close_auditpipe(int fd, int fdout) ==== //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/audit_pipe_regression_test_utils.h#6 (text+ko) ==== @@ -112,3 +112,5 @@ int check_arg(au_arg32_t arg, long val); int check_priv(au_proc32ex_t priv, pid_t pid); int check_fd(au_attr32_t attr, int fd); +int check_ext_priv(au_proc32_t priv, struct ext_priv p); +int check_attr_path(au_attr32_t attr, char *path); ==== //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/specific-event/audit_pipe_event_open.c#6 (text+ko) ==== @@ -93,7 +93,7 @@ write_int(O_RDONLY, "arg2"); write_int(fd, "fd"); write_int(fd, "ret"); - if (ret == -1) + if (fd == -1) write_string(strerror(errno), "ret_val"); else write_string("success", "ret_val"); @@ -105,7 +105,7 @@ write_int(O_WRONLY, "arg2"); write_int(fd, "fd"); write_int(fd, "ret"); - if (ret == -1) + if (fd == -1) write_string(strerror(errno), "ret_val"); else write_string("success", "ret_val"); @@ -119,7 +119,7 @@ write_int(0666, "arg3"); write_int(fd, "fd"); write_int(fd, "ret"); - if (ret == -1) + if (fd == -1) write_string(strerror(errno), "ret_val"); else write_string("success", "ret_val"); From owner-p4-projects@FreeBSD.ORG Tue Aug 5 13:34:53 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 573641065670; Tue, 5 Aug 2008 13:34:53 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1A4AA106564A for ; Tue, 5 Aug 2008 13:34:53 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 09E688FC1B for ; Tue, 5 Aug 2008 13:34:53 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m75DYqbM097774 for ; Tue, 5 Aug 2008 13:34:52 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m75DYqHe097772 for perforce@freebsd.org; Tue, 5 Aug 2008 13:34:52 GMT (envelope-from trasz@freebsd.org) Date: Tue, 5 Aug 2008 13:34:52 GMT Message-Id: <200808051334.m75DYqHe097772@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 146697 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, 05 Aug 2008 13:34:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=146697 Change 146697 by trasz@trasz_traszkan on 2008/08/05 13:34:46 Fix a case where superuser would be prohibited from creating subdirectory in a directory he doesn't have write access to. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_subr.c#9 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_subr.c#9 (text+ko) ==== @@ -3530,7 +3530,8 @@ !priv_check_cred(cred, PRIV_VFS_READ, 0)) priv_granted |= VREAD; - if ((acc_mode & VWRITE) && ((dac_granted & VWRITE) == 0) && + if ((((acc_mode & VWRITE) && ((dac_granted & VWRITE) == 0)) || + ((acc_mode & VAPPEND) && ((dac_granted & VAPPEND) == 0))) && !priv_check_cred(cred, PRIV_VFS_WRITE, 0)) priv_granted |= (VWRITE | VAPPEND); From owner-p4-projects@FreeBSD.ORG Tue Aug 5 14:30:50 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DF6981065671; Tue, 5 Aug 2008 14:30:49 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8A82E106564A for ; Tue, 5 Aug 2008 14:30:49 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 78FCD8FC14 for ; Tue, 5 Aug 2008 14:30:49 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m75EUnk0003704 for ; Tue, 5 Aug 2008 14:30:49 GMT (envelope-from remko@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m75EUnXE003702 for perforce@freebsd.org; Tue, 5 Aug 2008 14:30:49 GMT (envelope-from remko@freebsd.org) Date: Tue, 5 Aug 2008 14:30:49 GMT Message-Id: <200808051430.m75EUnXE003702@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to remko@freebsd.org using -f From: Remko Lodder To: Perforce Change Reviews Cc: Subject: PERFORCE change 146698 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, 05 Aug 2008 14:30:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=146698 Change 146698 by remko@remko_nakur on 2008/08/05 14:30:04 Update WIP Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/faq/book.sgml#7 edit Differences ... ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/faq/book.sgml#7 (text+ko) ==== @@ -612,9 +612,9 @@ - De Problem Rapport database van alle wijzigings verzoeken - van de gebruikers kan gebruikt worden met behulp van ons - web gebaseerde PR De Probleem rapportage database van alle wijzigings + verzoeken van de gebruikers kan gebruikt worden met behulp + van ons web gebaseerde PR opzoek pagina. @@ -649,66 +649,70 @@ - Documentation and Support + Documentatie en ondersteuning - What good books are there about &os;? + Welke goede boeken zijn er over &os;? - The project produces a wide range of documentation, - available online from this link: . The same - documents are available as packages, that you can easily - install on your &os; system. More details on documentation - packages can be found in the next paragraphs. + Het project produceert een grote verscheidenheid + aan documentatie welke online beschikbaar is via de + volgende link . Deze + documenten zijn beschikbaar als pakket, zodat het makkelijk + geïnstalleerd kan worden op het &os; systeem. Meer + details over documentatie pakketten kan gevonden worden + in de volgende paragraven. - In addition, the Bibliography at the end of this - FAQ, and the one in the Handbook - reference other recommended books. + Daarnaast refereren de bibliografie aan het + eind van deze FAQ en de versie in het handbook + naar andere aangeraden boeken. - Is the documentation available in other formats, such as - plain text (ASCII), or &postscript;? + Is de documentatie ook beschikbaar in andere formaten, + zoals platte tekst (ASCII) of &postscript;? - Yes. The documentation is available in a number of - different formats and compression schemes on the &os; FTP - site, in the Ja. De documentatie is beschikbaar in een aantal + verschillende formaten en compressie vormen op de &os; + FTP server in de /pub/FreeBSD/doc/ directory. - The documentation is categorized in a number of - different ways. These include: + De documentatie wordt gecategoriseerd op een aantal + verschillende manieren, zoals de volgende: - The document's name, such as faq, - or handbook. + De naam van het document zoals de + faq of het + handboek. - The document's language and encoding. These are - based on the locale names you will find under - /usr/share/locale on your &os; - system. The current languages and encodings that we - have for documentation are as follows: + De taal van het document en codering. Deze zijn + gebaseerd op de locale namen die gevonden kunnen + worden in de /usr/share/locale + directory op je &os; systeem. De huidige talen en + coderingen die we gebruiken voor documentatie zijn + als volgend: - Name + Naam - Meaning + Betekenis @@ -716,152 +720,153 @@ en_US.ISO8859-1 - US English + Amerikaans-Engels bn_BD.ISO10646-1 - Bengali (or Bangla) + Bengaals da_DK.ISO8859-1 - Danish (Denmark) + Deens de_DE.ISO8859-1 - German + Duitsland el_GR.ISO8859-7 - Greek (Greece) + Grieks es_ES.ISO8859-1 - Spanish + Spaans fr_FR.ISO8859-1 - French + Frans hu_HU.ISO8859-2 - Hungarian + Hongaars it_IT.ISO8859-15 - Italian + Italiaans ja_JP.eucJP - Japanese (EUC encoding) + Japans (EUC codering) mn_MN.UTF-8 - Mongolian (UTF-8 encoding) + Mongools (UTF-8 codering) nl_NL.ISO8859-1 - Dutch (Netherlands) + Nederlands no_NO.ISO8859-1 - Norwegian (Norway) + Norweegs pl_PL.ISO8859-2 - Polish (Poland) + Pools pt_BR.ISO8859-1 - Portuguese (Brazil) + Portugees (Brazilië) ru_RU.KOI8-R - Russian (KOI8-R encoding) + Russisch (KOI8-R codering) sr_YU.ISO8859-2 - Serbian (Serbia) + Servisch tr_TR.ISO8859-9 - Turkish (Turkey) + Turks zh_CN.GB2312 - Simplified Chinese (GB2312 - encoding) + Versimpeld Chinees (GB2312 + codering) zh_TW.Big5 - Traditional Chinese (Big5 encoding) + Traditioneel Chinees (Big5 codering) - Some documents may not be available in all - languages. + Sommige documenten kunnen in een aantal + talen (nog) niet beschikbaar zijn. - The document's format. We produce the documentation - in a number of different output formats. Each format - has its own advantages and disadvantages. Some formats - are better suited for online reading, while others are - meant to be aesthetically pleasing when printed on - paper. Having the documentation available in any of - these formats ensures that our readers will be able to - read the parts they are interested in, either on their - monitor, or on paper after printing the documents. The - currently available formats are: + Het formaat van het document. We produceren de + documentatie in een aantal verschillende formaten. + Elk formaat heeft zijn eigen voor en nadelen. Sommige + formaten zijn meer geschikt om online gelezen te worden + terwijl anderen geschikter zijn om gelezen te worden + op papier. Door het beschikbaar hebben van de + documenten in al deze formaten zorgt ervoor dat onze + lezers in staat zijn om de delen waar ze in + geinteresseerd zijn te lezen, danwel op de monitor + danwel nadat het op papier geprint is. De huidige lijst + met beschikbare formaten: - Format + Formaat - Meaning + Betekenis @@ -869,30 +874,30 @@ html-split - A collection of small, linked, HTML - files. + Een collectie van kleine aan elkaar + gekoppelde HTML bestanden. html - One large HTML file containing the entire - document + Één groot HTML bestand + wat het gehele document bevat. pdb - Palm Pilot database format, for use with - the Palm Pilot database formaat voor gebruik + met de iSilo - reader. + lezer. pdf - Adobe's Portable Document Format + Adobe's Porteerbaar Document Formaat @@ -905,21 +910,22 @@ rtf Microsoft's Rich Text Format - Page numbers are not automatically - updated when loading this format into Word. - Press CTRLA, - CTRLEND, - F9 after loading the - document, to update the page numbers. + Pagina nummers worden niet automatisch + geupdate wanneer ze worden ingeladen in + Word. Druk op CTRLA, + CTRLEND, + F9 nadat het document geladen + is om de pagina nummering te updaten. + txt - Plain text + Platte tekst @@ -927,35 +933,37 @@ - The compression and packaging scheme. There are - three of these currently in use. + De compressie en pakket schema's. Er zijn + momenteel drie van deze in gebruik. - Where the format is - html-split, the files are bundled - up using &man.tar.1;. The resulting - .tar file is then compressed - using the compression schemes detailed in the next - point. + Wanneer het formaat html-split + is, worden de bestanden gebundeld door middel van + &man.tar.1;. Het resulterende + .tar bestand wordt dan + gecompimeerd door middel van compressie schema's + zoals gedetailleerd in het volgende punt. - All the other formats generate one file, called + Alle andere formaten genereren één + bestand, genaamd type.format - (i.e., article.pdf, - book.html, and so on). + (b.v., article.pdf, + book.html, enzovoorts). - These files are then compressed using two - compression schemes. + Deze bestanden worden dan gecomprimeerd + door gebruik te maken van twee compressie + schema's. - Scheme + Schema - Description + Omschrijving @@ -963,159 +971,168 @@ zip - The Zip format. If you want to - uncompress this on &os; you will need to - install the Het Zip formaat. Als je deze wilt + decomprimeren op &os; moet de archivers/unzip - port first. + port eerst geïnstalleerd worden. bz2 - The BZip2 format. Less widespread than - Zip, but generally gives smaller files. - Install the Het BZip2 formaat. Minder verspreid + dan Zip, maar levert gemiddeld kleinere + betanden. Installeer de archivers/bzip2 - port to uncompress these files. + port om deze bestanden te + decomprimeren. - So the &postscript; version of the Handbook, - compressed using BZip2 will be stored in a file - called book.ps.bz2 in the + Dus de &postscript; versie van het handbook + wordt gecomprimeerd met BZip2 en zal worden + bewaard in een bestand genaamd + book.ps.bz2 in de handbook/ directory. - After choosing the format and compression mechanism that - you want to download, you will have to download the compressed - files yourself, uncompress them, and then copy the - appropriate documents into place. + Nadat het formaat en compressie mechanisme gekozen is + welke je wilt downloaden, je moet de gecomprimeerde + bestanden zelf downloaden, moeten deze gedecomprimeerd + worden en op de juiste plek gezet worden. - For example, the split HTML version of the FAQ, - compressed using &man.bzip2.1;, can be found in the + Bijvoorbeeld, de gesplitte HTML versie van de + FAQ welke gecomprimeerd is door &man.bzip2.1; kan + gevonden worden in het doc/en_US.ISO8859-1/books/faq/book.html-split.tar.bz2 - file. To download and uncompress that file you would have - to do this. + bestand. Om het bestand te downloaden en decomrpimeren moet + het volgende gedaan worden. &prompt.root; fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/en_US.ISO8859-1/books/faq/book.html-split.tar.bz2 &prompt.root; bzip2 -d book.html-split.tar.bz2 &prompt.root; tar xvf book.html-split.tar - You will be left with a collection of - .html files. The main one is called - index.html, which will contain the - table of contents, introductory material, and links to the - other parts of the document. You can then copy or move - these to their final location as necessary. + Er wordt een collectie van .html + bestanden achtergelaten voor je. De hoofd pagina is degeen + die index.html genoemd wordt, welke + de inhoudsopgave, introductie materiaal en links naar de + andere documenten bevat. Deze kunnen hierna gekopieerd + of verplaatst worden naar de eind locatie als dat nodig + is. - Where do I find info on the &os; mailing lists? + Waar kan ik informatie vinden over de &os; mailing + lijsten? - You can find full information in the Handbook entry on mailing-lists. + De volledige informatie kan gevonden worden in de + Handboek sectie over mailing lijsten. - What &os; news groups are available? + Welke &os; nieuws groepen zijn er beschikbaar? - You can find full information in the Handbook entry on newsgroups. + De volledige in formatie kan gevondedn worden in de + Handbook sectie over nieuwsgroepen. - Are there &os; IRC (Internet Relay Chat) - channels? + Zijn er &os; IRC (Internet Relay Chat) kanalen? - Yes, most major IRC networks host a &os; chat - channel: + Ja, alle grotere IRC netwerken hebben een &os; chat + kanaal: - Channel #FreeBSD on Het kanaal#FreeBSD op EFNet is - a &os; forum, but do not go there for tech support or - try to get folks there to help you avoid the pain of - reading manual pages or doing your own research. It is - a chat channel, first and foremost, and topics there are - just as likely to involve sex, sports or nuclear weapons - as they are &os;. You Have Been Warned! Available at - server irc.chat.org. + een &os; forum, maar ga hier niet heen voor technische + ondersteuning of om de mensen te vinden waarvan je + verwacht dat deze de pijn van het lezen van de + handleidingen of eigen onderzoek verzachten. Het is + primair een chat kanaal, en de onderwerpen daar gaan + net zo makkelijk over sex, sport en nucleare wapens + als dat ze over &os; gaan. Je bent gewaarschuwd! + Een beschikbare server is + irc.chat.org. - Channel #FreeBSDhelp on Het kanaal #FreeBSDhelp op EFNet is - a channel dedicated to helping &os; users. They are - much more sympathetic to questions than - #FreeBSD is. + een kanaal speciaal gericht op het helpen van &os; + gebruikers. Hier zijn ze veel sympatieker om vragen + te beantwoorden dan in + #FreeBSD. - Channel ##FreeBSD on Freenode is a - general help channel with about 300 users at any time. - The conversations have been known to run off-topic for a - while, but priority is given to users with &os; - questions. We are good about helping you understand the - basics, referring to the Handbook whenever possible, and - directing you where to learn more about the topic you - need help with. We are a primarily English speaking - channel, though we have users from all over the world. - If you would like to speak in your native language, try - to ask the question in English and then relocate to - another channel - ##freebsd-lang - as appropriate. + Het kanaal ##FreeBSD oo Freenode is een + generiek help kanaal met ongeveer 300 gebruikers op + elk willekeurig moment. De gesprekken hebben een tijd + lang bekend gestaan om buiten het onderwerp te treden, + maar prioriteit wordt gegeven voor gebruikers met &os; + vragen. We zijn goed in het helpen van het begrip + bij de basis, met referenties naar het handboek waar + mogelijk, en door je te dirigeren naar een plek waar + je meer informatie kan vinden over het onderwerp waar + je hulp bij nodig hebt. We zijn een primair engels + sprekend kanaal, maar we hebben gebruikers over de hele + wereld. Als je in je eigen taal wilt spreken, stel dan + de vraag in het engels en ga daarna naar een ander kanaal + ##freebsd-landcode + zoals gewenst. - Channel #FreeBSD on DALNET is available at - irc.dal.net in the US and - irc.eu.dal.net in Europe. + Het kanaal #FreeBSD op DALNET is beschikbaar + op irc.dal.net in de VS en + irc.eu.dal.net in Europa. - Channel #FreeBSDHelp on DALNET is available - at irc.dal.net in the US and - irc.eu.dal.net in Europe. + Het kanaal #FreeBSDHelp op DALNET is beschikbaar + op irc.dal.net in de VS and + irc.eu.dal.net in Europa. - Channel #FreeBSD on Het kanaal #FreeBSD oo UNDERNET is - available at us.undernet.org in the US - and eu.undernet.org in Europe. Since - it is a help channel, be prepared to read the documents - you are referred to. + beschikbaar op us.undernet.org in de VS + en eu.undernet.org in Europa. Omdat + dit een help kanaal is, moet je bereid zijn om de + documentatie te lezen waarnaar verwezen wordt. - Channel #FreeBSD on + Het kanaal #FreeBSD op RUSNET - is a russian-language oriented channel dedicated - to helping &os; users. This is also good place - for non-technical discussions. + is een russisch geörienteerd kanaal gericht op het + helpen van &os; gebruikers. Dit is ook een goede plek + voor het voeren van niet technische discussies. From owner-p4-projects@FreeBSD.ORG Tue Aug 5 14:33:53 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 24D301065673; Tue, 5 Aug 2008 14:33:53 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DAEC3106566C for ; Tue, 5 Aug 2008 14:33:52 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id AD3288FC18 for ; Tue, 5 Aug 2008 14:33:52 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m75EXqDK003974 for ; Tue, 5 Aug 2008 14:33:52 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m75EXqZD003972 for perforce@freebsd.org; Tue, 5 Aug 2008 14:33:52 GMT (envelope-from trasz@freebsd.org) Date: Tue, 5 Aug 2008 14:33:52 GMT Message-Id: <200808051433.m75EXqZD003972@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 146699 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, 05 Aug 2008 14:33:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=146699 Change 146699 by trasz@trasz_traszkan on 2008/08/05 14:33:21 Make "prove -vr" output more useful. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/fstest/tests/misc.sh#2 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/tools/regression/fstest/tests/misc.sh#2 (text+ko) ==== @@ -27,7 +27,7 @@ if [ $? -eq 0 ]; then echo "ok ${ntest}" else - echo "not ok ${ntest}" + echo "not ok ${ntest} - tried '$*', expected ${e}, got ${r}" fi ntest=`expr $ntest + 1` } From owner-p4-projects@FreeBSD.ORG Tue Aug 5 15:11:31 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7BAAE1065684; Tue, 5 Aug 2008 15:11:31 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2664B106564A for ; Tue, 5 Aug 2008 15:11:31 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1423E8FC1B for ; Tue, 5 Aug 2008 15:11:31 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m75FBUNb009477 for ; Tue, 5 Aug 2008 15:11:30 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m75FBUgU009474 for perforce@freebsd.org; Tue, 5 Aug 2008 15:11:30 GMT (envelope-from pgj@FreeBSD.org) Date: Tue, 5 Aug 2008 15:11:30 GMT Message-Id: <200808051511.m75FBUgU009474@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 146700 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, 05 Aug 2008 15:11:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=146700 Change 146700 by pgj@disznohal on 2008/08/05 15:11:00 IFC Affected files ... .. //depot/projects/docproj_hu/www/hu/about.sgml#7 integrate .. //depot/projects/docproj_hu/www/hu/administration.sgml#6 integrate .. //depot/projects/docproj_hu/www/hu/advocacy/index.sgml#8 integrate .. //depot/projects/docproj_hu/www/hu/advocacy/myths.sgml#8 integrate .. //depot/projects/docproj_hu/www/hu/applications.sgml#5 integrate .. //depot/projects/docproj_hu/www/hu/art.sgml#5 integrate .. //depot/projects/docproj_hu/www/hu/community.xsl#6 integrate .. //depot/projects/docproj_hu/www/hu/community/irc.sgml#7 integrate .. //depot/projects/docproj_hu/www/hu/community/mailinglists.sgml#10 integrate .. //depot/projects/docproj_hu/www/hu/community/newsgroups.sgml#10 integrate .. //depot/projects/docproj_hu/www/hu/community/webresources.sgml#7 integrate .. //depot/projects/docproj_hu/www/hu/copyright/copyright.sgml#7 integrate .. //depot/projects/docproj_hu/www/hu/developers/cvs.sgml#8 integrate .. //depot/projects/docproj_hu/www/hu/docproj/doc-set.sgml#7 integrate .. //depot/projects/docproj_hu/www/hu/docproj/docproj.sgml#7 integrate .. //depot/projects/docproj_hu/www/hu/docproj/hungarian.sgml#6 integrate .. //depot/projects/docproj_hu/www/hu/docproj/sgml.sgml#7 integrate .. //depot/projects/docproj_hu/www/hu/docproj/submitting.sgml#6 integrate .. //depot/projects/docproj_hu/www/hu/docproj/who.sgml#6 integrate .. //depot/projects/docproj_hu/www/hu/docs.sgml#5 integrate .. //depot/projects/docproj_hu/www/hu/docs/books.sgml#10 integrate .. //depot/projects/docproj_hu/www/hu/docs/webresources.sgml#8 integrate .. //depot/projects/docproj_hu/www/hu/features.sgml#6 integrate .. //depot/projects/docproj_hu/www/hu/index.xsl#8 integrate .. //depot/projects/docproj_hu/www/hu/internet.sgml#6 integrate .. //depot/projects/docproj_hu/www/hu/logo.sgml#5 integrate .. //depot/projects/docproj_hu/www/hu/mailto.sgml#7 integrate .. //depot/projects/docproj_hu/www/hu/news/news.sgml#8 integrate .. //depot/projects/docproj_hu/www/hu/news/pressreleases.sgml#7 integrate .. //depot/projects/docproj_hu/www/hu/platforms/alpha.sgml#6 integrate .. //depot/projects/docproj_hu/www/hu/platforms/amd64.sgml#6 integrate .. //depot/projects/docproj_hu/www/hu/platforms/arm.sgml#6 integrate .. //depot/projects/docproj_hu/www/hu/platforms/i386.sgml#5 integrate .. //depot/projects/docproj_hu/www/hu/platforms/ia64/index.xsl#5 integrate .. //depot/projects/docproj_hu/www/hu/platforms/ia64/machines.sgml#6 integrate .. //depot/projects/docproj_hu/www/hu/platforms/ia64/refs.sgml#5 integrate .. //depot/projects/docproj_hu/www/hu/platforms/ia64/todo.xsl#5 integrate .. //depot/projects/docproj_hu/www/hu/platforms/index.sgml#5 integrate .. //depot/projects/docproj_hu/www/hu/platforms/mips.sgml#6 integrate .. //depot/projects/docproj_hu/www/hu/platforms/pc98.sgml#6 integrate .. //depot/projects/docproj_hu/www/hu/platforms/ppc.sgml#8 integrate .. //depot/projects/docproj_hu/www/hu/platforms/sparc.sgml#6 integrate .. //depot/projects/docproj_hu/www/hu/platforms/sun4v.sgml#6 integrate .. //depot/projects/docproj_hu/www/hu/platforms/xbox.sgml#6 integrate .. //depot/projects/docproj_hu/www/hu/projects/projects.sgml#6 integrate .. //depot/projects/docproj_hu/www/hu/search/index-site.sgml#5 integrate .. //depot/projects/docproj_hu/www/hu/search/search-mid.sgml#6 integrate .. //depot/projects/docproj_hu/www/hu/search/search.sgml#9 integrate .. //depot/projects/docproj_hu/www/hu/search/searchhints.sgml#6 integrate .. //depot/projects/docproj_hu/www/hu/search/site.map#8 integrate .. //depot/projects/docproj_hu/www/hu/search/web.atoz#8 integrate .. //depot/projects/docproj_hu/www/hu/send-pr.sgml#5 integrate .. //depot/projects/docproj_hu/www/hu/share/sgml/header.l10n.ent#6 integrate .. //depot/projects/docproj_hu/www/hu/support.sgml#5 integrate .. //depot/projects/docproj_hu/www/hu/support/bugreports.sgml#7 integrate .. //depot/projects/docproj_hu/www/hu/support/webresources.sgml#5 integrate Differences ... ==== //depot/projects/docproj_hu/www/hu/about.sgml#7 (text+ko) ==== @@ -1,5 +1,5 @@ + ]> ==== //depot/projects/docproj_hu/www/hu/administration.sgml#6 (text+ko) ==== @@ -1,5 +1,5 @@ + ==== //depot/projects/docproj_hu/www/hu/advocacy/index.sgml#8 (text+ko) ==== @@ -1,7 +1,7 @@ - + ]> ==== //depot/projects/docproj_hu/www/hu/advocacy/myths.sgml#8 (text+ko) ==== @@ -1,7 +1,7 @@ - + %developers; ==== //depot/projects/docproj_hu/www/hu/applications.sgml#5 (text+ko) ==== @@ -1,5 +1,5 @@ + ]> ==== //depot/projects/docproj_hu/www/hu/art.sgml#5 (text+ko) ==== @@ -1,5 +1,5 @@ + %developers; ==== //depot/projects/docproj_hu/www/hu/community.xsl#6 (text+ko) ==== @@ -6,7 +6,7 @@ ]> - + + + + - Hoe krijg ik toegang tot de Probleem Rapporten + Hoe krijg ik toegang tot de Probleemrapport database? - De Probleem rapportage database van alle wijzigings + De Probleemrapport database van alle wijzigings verzoeken van de gebruikers kan gebruikt worden met behulp van ons web gebaseerde PR opzoek @@ -621,7 +623,7 @@ Het &man.send-pr.1; commando kan gebruikt worden om probleem rapporten en wijzigings verzoeken te versturen via electronische email. Daarnaast kan de web-gebaseerde probleem rapport interface + url="http://www.freebsd.org/send-pr.html">web-gebaseerde probleemrapport interface gebruikt worden om probleem rapporten op te sturen door een web browser. @@ -1106,7 +1108,7 @@ Het kanaal #FreeBSD op DALNET is beschikbaar + url="http://www.dal.net/">DALNET is beschikbaar op irc.dal.net in de VS en irc.eu.dal.net in Europa. From owner-p4-projects@FreeBSD.ORG Wed Aug 6 18:40:59 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7A5C4106568C; Wed, 6 Aug 2008 18:40:59 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3E14E106567D for ; Wed, 6 Aug 2008 18:40:59 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2B5C08FC15 for ; Wed, 6 Aug 2008 18:40:59 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m76IexJv079699 for ; Wed, 6 Aug 2008 18:40:59 GMT (envelope-from remko@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m76Iex7m079697 for perforce@freebsd.org; Wed, 6 Aug 2008 18:40:59 GMT (envelope-from remko@freebsd.org) Date: Wed, 6 Aug 2008 18:40:59 GMT Message-Id: <200808061840.m76Iex7m079697@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to remko@freebsd.org using -f From: Remko Lodder To: Perforce Change Reviews Cc: Subject: PERFORCE change 146788 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, 06 Aug 2008 18:40:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=146788 Change 146788 by remko@remko_nakur on 2008/08/06 18:40:14 MFen basics -> 1.153 Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/basics/chapter.sgml#3 edit Differences ... ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/basics/chapter.sgml#3 (text+ko) ==== @@ -2,8 +2,9 @@ The FreeBSD Dutch Documentation Project $FreeBSD: doc/nl_NL.ISO8859-1/books/handbook/basics/chapter.sgml,v 1.16 2007/12/26 00:21:25 remko Exp $ - $FreeBSDnl: doc/nl_NL.ISO8859-1/books/handbook/basics/chapter.sgml,v 1.58 2006/08/12 22:53:09 remko Exp $ - Gebaseerd op: 1.152 + + %SOURCE% en_US.ISO8859-1/books/handbook/basics/chapter.sgml + %SRCID% 1.153 --> @@ -747,8 +748,7 @@ Om de vlaggen op een bestand te bekijken, kan het &man.ls.1; commando met de vlaggen gebruikt worden: - &prompt.root; ls -lo file1 - + &prompt.root; ls -lo file1 De uitvoer hoort er ongeveer als volgt uit te zien: From owner-p4-projects@FreeBSD.ORG Wed Aug 6 18:57:16 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1447A106566C; Wed, 6 Aug 2008 18:57:16 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CB0AD106564A for ; Wed, 6 Aug 2008 18:57:15 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B77A48FC1B for ; Wed, 6 Aug 2008 18:57:15 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m76IvF7n080935 for ; Wed, 6 Aug 2008 18:57:15 GMT (envelope-from remko@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m76IvF75080933 for perforce@freebsd.org; Wed, 6 Aug 2008 18:57:15 GMT (envelope-from remko@freebsd.org) Date: Wed, 6 Aug 2008 18:57:15 GMT Message-Id: <200808061857.m76IvF75080933@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to remko@freebsd.org using -f From: Remko Lodder To: Perforce Change Reviews Cc: Subject: PERFORCE change 146789 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, 06 Aug 2008 18:57:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=146789 Change 146789 by remko@remko_nakur on 2008/08/06 18:56:59 MFen: bibliography -> 1.85 Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/bibliography/chapter.sgml#3 edit Differences ... ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/bibliography/chapter.sgml#3 (text+ko) ==== @@ -3,7 +3,10 @@ $FreeBSD: doc/nl_NL.ISO8859-1/books/handbook/bibliography/chapter.sgml,v 1.4 2006/08/25 00:12:09 remko Exp $ $FreeBSDnl: doc/nl_NL.ISO8859-1/books/handbook/bibliography/chapter.sgml,v 1.19 2006/08/12 22:53:09 remko Exp $ - Gebaseerd op: 1.76 + + %SOURCE% en_US.ISO8859-1/books/handbook/bibliography/chapter.sgml + %SRCID% 1.85 + Vertaald door: Siebrand Mazeland --> @@ -27,50 +30,52 @@ - Using &os; (Chinees). + Using &os; (Traditioneel Chinees), gepubliceerd door Drmaster, 1997. ISBN + 9-578-39435-7. - &os; Unleashed (Chinese vertaling), gepubliceerd door - China Machine - Press. ISBN 7-111-10201-0. - + &os; Unleashed (Versimpelde Chinese vertaling), + gepubliceerd door China + Machine Press. ISBN 7-111-10201-0. - &os; From Scratch First Edition (Chinees), + &os; From Scratch First Edition (Versimpeld Chinees), gepubliceerd door China Machine Press. ISBN 7-111-07482-3. - &os; From Scratch Second Edition (Chinees), + &os; From Scratch Second Edition (Versimpeld Chinees), gepubliceerd door China Machine Press. ISBN 7-111-10286-X. - &os; Handbook (Chinese vertaling), gepubliceerd door - Posts & Telecom - Press. ISBN 7-115-10541-3. - + &os; Handbook Second Edition (Versimpeld Chinese vertaling), + gepubliceerd door Posts + & Telecom Press. ISBN 7-115-10541-3. - &os; 3.x Internet (Chinees), gepubliceerd door + &os; 3.x Internet (Versimpeld Chinees), gepubliceerd door Tsinghua University Press. ISBN 7-900625-66-6. - &os; & Windows (Chinees), - ISBN 7-113-03845-X + &os; & Windows (Versimpeld Chinees), gepubliceerd door + gepubliceerd door China + Railway Publishing House. ISBN 7-113-03845-X - &os; Internet Services HOWTO (Chinees), + &os; Internet Services HOWTO (Versimpeld Chinees), + gepubliceerd door China Railway Publishing House. ISBN 7-113-03423-3 @@ -159,6 +164,19 @@ Komputindo. + + Absolute BSD: The Ultimate Guide to &os; (Traditioneel + Chinese vertaling), gepubliceerd door GrandTech Press, 2003. + ISBN 986-7944-92-5. + + + + The FreeBSD 6.0 Book + (Traditioneel Chinees), gepubliceerd door Drmaster, 2006. + ISBN 9-575-27878-X. + Engelstalige boeken & @@ -204,8 +222,8 @@ &os; unleashed, gepubliceerd door Sams, 2002. - ISBN: 0672324563 + url="http://www.samspublishing.com/">Sams, 2006. + ISBN: 0672328755 @@ -249,11 +267,11 @@ - Ohio - State University heeft een UNIX - Introductory Course geschreven die online - beschikbaar is in HTML en PostScript formaat. + Ohio State University + heeft een Unix + Introductie cursus geschreven welke online in HTML + beschikbaar is en in het &postscript; formaat. Een Italiaanse vertaling From owner-p4-projects@FreeBSD.ORG Wed Aug 6 19:46:06 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A522C106567B; Wed, 6 Aug 2008 19:46:06 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 675F81065670 for ; Wed, 6 Aug 2008 19:46:06 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5440B8FC20 for ; Wed, 6 Aug 2008 19:46:06 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m76Jk6wH086046 for ; Wed, 6 Aug 2008 19:46:06 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m76Jk61F086044 for perforce@freebsd.org; Wed, 6 Aug 2008 19:46:06 GMT (envelope-from hselasky@FreeBSD.org) Date: Wed, 6 Aug 2008 19:46:06 GMT Message-Id: <200808061946.m76Jk61F086044@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 146795 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, 06 Aug 2008 19:46:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=146795 Change 146795 by hselasky@hselasky_laptop001 on 2008/08/06 19:45:26 Bugfix. Doing the alternate setting should not detach any devices in USB Host Mode. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.c#18 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.c#18 (text+ko) ==== @@ -675,8 +675,9 @@ err = USB_ERR_INVAL; goto done; } - usb2_detach_device(udev, iface_index, 1); - + if (udev->flags.usb2_mode == USB_MODE_DEVICE) { + usb2_detach_device(udev, iface_index, 1); + } err = usb2_fill_iface_data(udev, iface_index, alt_index); if (err) { goto done; From owner-p4-projects@FreeBSD.ORG Wed Aug 6 19:49:11 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C0E9F1065685; Wed, 6 Aug 2008 19:49:10 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 85267106567D for ; Wed, 6 Aug 2008 19:49:10 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 71AE78FC20 for ; Wed, 6 Aug 2008 19:49:10 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m76JnAE1086317 for ; Wed, 6 Aug 2008 19:49:10 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m76JnAE8086315 for perforce@freebsd.org; Wed, 6 Aug 2008 19:49:10 GMT (envelope-from hselasky@FreeBSD.org) Date: Wed, 6 Aug 2008 19:49:10 GMT Message-Id: <200808061949.m76JnAE8086315@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 146797 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, 06 Aug 2008 19:49:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=146797 Change 146797 by hselasky@hselasky_laptop001 on 2008/08/06 19:48:16 Sort some variables by size to reduce stack consumption on embedded platforms. Bugfix: If we do not have room for an USB transfer, then set the length to zero instead of clearing the ACTIVE bit, hence the latter solution would lead to an infinite loop. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/controller/ehci2.c#9 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/controller/ehci2.c#9 (text+ko) ==== @@ -2410,23 +2410,23 @@ struct usb2_fs_isoc_schedule *fss_start; struct usb2_fs_isoc_schedule *fss_end; struct usb2_fs_isoc_schedule *fss; + ehci_sitd_t *td; + ehci_sitd_t *td_last = NULL; + ehci_sitd_t **pp_last; + uint32_t *plen; uint32_t buf_offset; uint32_t nframes; uint32_t temp; uint32_t sitd_mask; - uint32_t *plen; uint16_t tlen; + uint8_t sa; + uint8_t sb; + uint8_t error; #ifdef USB_DEBUG uint8_t once = 1; #endif - uint8_t sa; - uint8_t sb; - uint8_t error; - ehci_sitd_t *td; - ehci_sitd_t *td_last = NULL; - ehci_sitd_t **pp_last; DPRINTFN(6, "xfer=%p next=%d nframes=%d\n", xfer, xfer->pipe->isoc_next, xfer->nframes); @@ -2523,7 +2523,13 @@ * full! */ error = usb2_fs_isoc_schedule_alloc(fss, &sa, *plen); - + if (error) { + /* + * The FULL speed schedule is FULL! Set length + * to zero. + */ + *plen = 0; + } if (*plen) { /* * only call "usb2_get_page()" when we have a @@ -2536,7 +2542,8 @@ * NOTE: We need to subtract one from the offset so * that we are on a valid page! */ - usb2_get_page(xfer->frbuffers, buf_offset - 1, &buf_res); + usb2_get_page(xfer->frbuffers, buf_offset - 1, + &buf_res); temp = buf_res.physaddr & ~0xFFF; } else { td->sitd_bp[0] = 0; @@ -2588,15 +2595,6 @@ (EHCI_SITD_ACTIVE | EHCI_SITD_SET_LEN(*plen)); } - if (error) { - /* - * The FULL speed schedule is FULL! Pretend that the - * transaction has been executed. The IOC bit should - * be active even if the ACTIVE bit is zero. - */ - td->sitd_status &= - ~htole32(EHCI_SITD_ACTIVE); - } usb2_pc_cpu_flush(td->page_cache); #ifdef USB_DEBUG @@ -2704,11 +2702,14 @@ { struct usb2_page_search buf_res; ehci_softc_t *sc = xfer->usb2_sc; + ehci_itd_t *td; + ehci_itd_t *td_last = NULL; + ehci_itd_t **pp_last; bus_size_t page_addr; + uint32_t *plen; uint32_t status; uint32_t buf_offset; uint32_t nframes; - uint32_t *plen; uint32_t itd_offset[8 + 1]; uint8_t x; uint8_t td_no; @@ -2718,9 +2719,6 @@ uint8_t once = 1; #endif - ehci_itd_t *td; - ehci_itd_t *td_last = NULL; - ehci_itd_t **pp_last; DPRINTFN(6, "xfer=%p next=%d nframes=%d\n", xfer, xfer->pipe->isoc_next, xfer->nframes); From owner-p4-projects@FreeBSD.ORG Wed Aug 6 21:25:49 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7E0E8106567C; Wed, 6 Aug 2008 21:25:49 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4152E106567A for ; Wed, 6 Aug 2008 21:25:49 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2D0A28FC19 for ; Wed, 6 Aug 2008 21:25:49 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m76LPnXe006706 for ; Wed, 6 Aug 2008 21:25:49 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m76LPnsG006704 for perforce@freebsd.org; Wed, 6 Aug 2008 21:25:49 GMT (envelope-from trasz@freebsd.org) Date: Wed, 6 Aug 2008 21:25:49 GMT Message-Id: <200808062125.m76LPnsG006704@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 146802 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, 06 Aug 2008 21:25:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=146802 Change 146802 by trasz@trasz_traszkan on 2008/08/06 21:25:34 Make error messages produced by acl_from_text more understandable. Also, fix an error, where passing unknown user name or group name woulnd't result in error being returned. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_from_text_nfs4.c#5 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support_nfs4.c#6 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_from_text_nfs4.c#5 (text+ko) ==== @@ -65,7 +65,7 @@ if (strcmp(str, "group") == 0 || strcmp(str, "g") == 0) return (acl_set_tag_type(entry, ACL_GROUP)); - warnx("Malformed \"tag\" field."); + warnx("malformed ACL: invalid \"tag\" field"); return (-1); } @@ -83,7 +83,7 @@ qualifier_length = strlen(str); if (qualifier_length == 0) { - warnx("Empty qualifier."); + warnx("malformed ACL: empty \"qualifier\" field"); return (-1); } @@ -92,7 +92,8 @@ id = strtod(str, &end); if (end - str != qualifier_length) { - warnx("Trailing characters after numerical id."); + warnx("malformed ACL: trailing characters " + "after numerical id"); return (-1); } @@ -109,8 +110,8 @@ /* XXX: Thread-unsafe. */ pwd = getpwnam(str); if (pwd == NULL) { - warnx("Unknown user: %s", str); - return (0); + warnx("malformed ACL: unknown user \"%s\"", str); + return (-1); } return (acl_set_qualifier(entry, &(pwd->pw_uid))); @@ -119,8 +120,8 @@ /* XXX: Thread-unsafe. */ grp = getgrnam(str); if (grp == NULL) { - warnx("Unknown group: %s", str); - return (0); + warnx("malformed ACL: unknown group \"%s\"", str); + return (-1); } return (acl_set_qualifier(entry, &(grp->gr_gid))); @@ -132,10 +133,8 @@ int error, perm; error = _nfs4_parse_access_mask(str, &perm); - if (error) { - warnx("Malformed \"access mask\" field."); + if (error) return (error); - } error = acl_set_permset(entry, &perm); @@ -148,10 +147,8 @@ int error, flags; error = _nfs4_parse_flags(str, &flags); - if (error) { - warnx("Malformed \"flags\" field."); + if (error) return (error); - } error = acl_set_flagset_np(entry, &flags); @@ -173,7 +170,7 @@ if (strcmp(str, "alarm") == 0) return (acl_set_extended_np(entry, ACL_EXTENDED_ALARM)); - warnx("Malformed \"extended\" field."); + warnx("malformed ACL: invalid \"type\" field"); return (-1); } ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support_nfs4.c#6 (text+ko) ==== @@ -129,7 +129,8 @@ static int parse_flags_verbose(const char *strp, uint32_t *var, - const struct flagnames_struct *flags, int *try_compact) + const struct flagnames_struct *flags, const char *flags_name, + int *try_compact) { int i, found, ever_found = 0; char *str, *flag; @@ -152,7 +153,8 @@ if (!found) { if (ever_found) - warnx("Invalid flag: %s.", flag); + warnx("malformed ACL: \"%s\" field contains " + "invalid flag \"%s\"", flags_name, flag); else *try_compact = 1; free(str); @@ -166,7 +168,7 @@ static int parse_flags_compact(const char *str, uint32_t *var, - const struct flagnames_struct *flags) + const struct flagnames_struct *flags, const char *flags_name) { int i, j, found; @@ -191,7 +193,8 @@ } if (!found) { - warnx("Invalid flag: %c.", str[i]); + warnx("malformed ACL: \"%s\" field contains " + "invalid flag \"%c\"", flags_name, str[i]); return (-1); } } @@ -220,9 +223,9 @@ { int error, try_compact; - error = parse_flags_verbose(str, var, a_flags, &try_compact); + error = parse_flags_verbose(str, var, a_flags, "flags", &try_compact); if (error && try_compact) - error = parse_flags_compact(str, var, a_flags); + error = parse_flags_compact(str, var, a_flags, "flags"); return (error); } @@ -232,9 +235,11 @@ { int error, try_compact; - error = parse_flags_verbose(str, var, a_access_masks, &try_compact); + error = parse_flags_verbose(str, var, a_access_masks, + "access permissions", &try_compact); if (error && try_compact) - error = parse_flags_compact(str, var, a_access_masks); + error = parse_flags_compact(str, var, + a_access_masks, "access permissions"); return (error); } From owner-p4-projects@FreeBSD.ORG Wed Aug 6 21:49:49 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7C03A1065691; Wed, 6 Aug 2008 21:49:49 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3EE671065678; Wed, 6 Aug 2008 21:49:49 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from pin.if.uz.zgora.pl (pin.if.uz.zgora.pl [212.109.128.251]) by mx1.freebsd.org (Postfix) with ESMTP id 6463C8FC16; Wed, 6 Aug 2008 21:49:47 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: by pin.if.uz.zgora.pl (Postfix, from userid 1001) id 9C9AD39BC9; Wed, 6 Aug 2008 23:32:24 +0200 (CEST) Date: Wed, 6 Aug 2008 23:32:24 +0200 From: Edward Tomasz Napierala To: Tim Kientzle Message-ID: <20080806213224.GA5906@pin.if.uz.zgora.pl> References: <200808061413.m76EDIfR043441@repoman.freebsd.org> <4899CA21.8000307@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-2 Content-Disposition: inline In-Reply-To: <4899CA21.8000307@freebsd.org> User-Agent: Mutt/1.5.18 (2008-05-17) Cc: Perforce Change Reviews Subject: Re: PERFORCE change 146774 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, 06 Aug 2008 21:49:49 -0000 On 0806T0858, Tim Kientzle wrote: > > http://perforce.freebsd.org/chv.cgi?CH=146774 > > > > Change 146774 by trasz@trasz_traszkan on 2008/08/06 14:12:37 > > > > Ignore "append" permission - use "write_data" instead - on regular > > files to match SunOS (and ZFS) behaviour. > > I always thought the reason for a separate "append" > bit was to protect files such as log files by allowing > them to be appended but not overwritten. Yes. > Maybe Sun is wrong here? I think it's just that they didn't finish this part yet. > Does the NFS4 spec say anything about this? Well, "append_data" permission works just as one might imagine - it controls appending data at the end of the file. On a directory, it is somewhat less intuitive - with "write_data" permission, one can create files in that directory. With "append_data", one can create subdirectories. NFS4 spec does not require full support for that "granularity" in access permissions, however. So ignoring append permission on files seems ok. The main reason for this change is for UFS and ZFS to behave in the same way. If we cannot be fully right (and I think fixing granularity in ZFS is somewhat outside of scope of my project), lets at least be consistent. ;-) -- If you cut off my head, what would I say? Me and my head, or me and my body? From owner-p4-projects@FreeBSD.ORG Wed Aug 6 21:55:19 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8F8471065673; Wed, 6 Aug 2008 21:55:19 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 538FC106564A for ; Wed, 6 Aug 2008 21:55:19 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 401B98FC0C for ; Wed, 6 Aug 2008 21:55:19 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m76LtJA4009396 for ; Wed, 6 Aug 2008 21:55:19 GMT (envelope-from thompsa@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m76LtJvF009394 for perforce@freebsd.org; Wed, 6 Aug 2008 21:55:19 GMT (envelope-from thompsa@freebsd.org) Date: Wed, 6 Aug 2008 21:55:19 GMT Message-Id: <200808062155.m76LtJvF009394@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thompsa@freebsd.org using -f From: Andrew Thompson To: Perforce Change Reviews Cc: Subject: PERFORCE change 146803 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, 06 Aug 2008 21:55:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=146803 Change 146803 by thompsa@thompsa_burger on 2008/08/06 21:55:04 Add compat checks for VFS and callout changes. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_dev.c#21 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_transfer.c#17 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_dev.c#21 (text+ko) ==== @@ -91,7 +91,9 @@ static fo_rdwr_t usb2_read_f; static fo_rdwr_t usb2_write_f; +#if __FreeBSD_version > 800009 static fo_truncate_t usb2_truncate_f; +#endif static fo_ioctl_t usb2_ioctl_f; static fo_poll_t usb2_poll_f; static fo_kqfilter_t usb2_kqfilter_f; @@ -122,7 +124,9 @@ static struct fileops usb2_ops_f = { .fo_read = usb2_read_f, .fo_write = usb2_write_f, +#if __FreeBSD_version > 800009 .fo_truncate = usb2_truncate_f, +#endif .fo_ioctl = usb2_ioctl_f, .fo_poll = usb2_poll_f, .fo_kqfilter = usb2_kqfilter_f, @@ -1600,11 +1604,13 @@ return (vnops.fo_stat(fp, sb, cred, td)); } +#if __FreeBSD_version > 800009 static int usb2_truncate_f(struct file *fp, off_t length, struct ucred *cred, struct thread *td) { return (vnops.fo_truncate(fp, length, cred, td)); } +#endif /* ARGSUSED */ static int ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_transfer.c#17 (text+ko) ==== @@ -2606,7 +2606,11 @@ } co = &(xfer->timeout_handle); +#if __FreeBSD_version >= 800000 mtx = (void *)(co->co.c_lock); +#else + mtx = co->co.c_mtx; +#endif mtx_lock(mtx); if (usb2_callout_pending(co)) { From owner-p4-projects@FreeBSD.ORG Wed Aug 6 22:03:28 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 46F011065675; Wed, 6 Aug 2008 22:03:28 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 09D801065672 for ; Wed, 6 Aug 2008 22:03:28 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E861A8FC21 for ; Wed, 6 Aug 2008 22:03:27 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m76M3RR9011116 for ; Wed, 6 Aug 2008 22:03:27 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m76M3R5f011114 for perforce@freebsd.org; Wed, 6 Aug 2008 22:03:27 GMT (envelope-from trasz@freebsd.org) Date: Wed, 6 Aug 2008 22:03:27 GMT Message-Id: <200808062203.m76M3R5f011114@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 146804 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, 06 Aug 2008 22:03:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=146804 Change 146804 by trasz@trasz_traszkan on 2008/08/06 22:02:39 IFC. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/bin/echo/echo.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/bin/sh/mknodes.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/bin/stty/gfmt.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/ipfilter/ip_fil.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/rc.firewall#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/gnu/usr.bin/groff/tmac/mdoc.local#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/include/gssapi/gssapi.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/include/rpc/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/include/rpc/auth.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/include/rpc/rpcsec_gss.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/include/rpc/svc.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/kerberos5/lib/libgssapi_krb5/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/kerberos5/lib/libgssapi_krb5/pname_to_uid.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/Makefile#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/archive_private.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/arc4random.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/getbsize.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/rpc/Makefile.inc#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/rpc/Symbol.map#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/rpc/clnt_dg.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/rpc/clnt_perror.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/rpc/clnt_vc.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/rpc/rpcsec_gss_stub.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/rpc/svc.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/rpc/svc_auth.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/rpc/svc_dg.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/rpc/svc_raw.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/rpc/svc_vc.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/stdio/vfwprintf.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/stdlib/getenv.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/jail.2#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/socket.2#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/xdr/xdr_rec.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libgssapi/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libgssapi/Symbol.map#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libgssapi/gss_mech_switch.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libgssapi/gss_pname_to_uid.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libgssapi/gss_utils.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libgssapi/mech_switch.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libgssapi/utils.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/Makefile#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/Symbol.map#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpc_gss_get_error.3#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpc_gss_get_mech_info.3#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpc_gss_get_mechanisms.3#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpc_gss_get_principal_name.3#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpc_gss_get_versions.3#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpc_gss_getcred.3#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpc_gss_is_installed.3#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpc_gss_max_data_length.3#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpc_gss_mech_to_oid.3#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpc_gss_oid_to_mech.3#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpc_gss_qop_to_num.3#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpc_gss_seccreate.3#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpc_gss_set_callback.3#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpc_gss_set_defaults.3#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpc_gss_set_svc_name.3#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpc_gss_svc_max_data_length.3#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpcsec_gss.3#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpcsec_gss.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpcsec_gss_conf.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpcsec_gss_int.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpcsec_gss_misc.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpcsec_gss_prot.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/svc_rpcsec_gss.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libthread_db/Makefile#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libthread_db/arch/arm/libpthread_md.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libthread_db/arch/ia64/libpthread_md.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libthread_db/arch/powerpc/libpthread_md.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libthread_db/arch/sparc64/libpthread_md.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libthread_db/libpthread_db.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libthread_db/libthr_db.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/msun/src/e_acosf.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/msun/src/e_asin.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/msun/src/e_asinf.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/msun/src/e_asinl.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/msun/src/e_atan2f.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/libexec/fingerd/fingerd.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sbin/atacontrol/atacontrol.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sbin/ddb/ddb.8#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sbin/ifconfig/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sbin/ifconfig/ifconfig.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sbin/ifconfig/ifgre.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/ddb.4#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/if_bridge.4#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/textdump.4#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/wi.4#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/pmap.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/conf/GENERIC#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/conf/NOTES#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/include/pmap.h#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/arm/db_interface.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/arm/elf_trampoline.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/arm/intr.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/arm/vm_machdep.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/at91/at91_twi.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/conf/AVILA#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/conf/KB920X#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/conf/NSLU#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/conf/NSLU.hints#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/include/db_machdep.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/xscale/ixp425/ixp425_iic.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/boot/common/misc.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/boot/forth/loader.conf#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/boot/i386/libi386/devicename.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/Makefile.arm#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/NOTES#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/pf/net/pf.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/acpica/acpi.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/bktr/bktr_i2c.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/iicbus/ad7418.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/iicbus/ds1339.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/iicbus/icee.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/iicbus/if_ic.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/iicbus/iic.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/iicbus/iicbb.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/iicbus/iicbus.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/iicbus/iicbus.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/iicbus/iiconf.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/iicbus/iicsmb.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mii/rgephy.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/pccard/pccard.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/pccard/pccardvar.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/pcf/envctrl.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/pcf/pcf.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/pcf/pcf_ebus.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/pcf/pcf_isa.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/pcf/pcfvar.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/pci/pci.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ppbus/lpbb.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/re/if_re.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/snc/dp83932.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/snc/dp83932var.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/snc/if_snc.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/snc/if_snc_cbus.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/snc/if_snc_pccard.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/syscons/syscons.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/conf/GENERIC#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/conf/NOTES#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/i386/pmap.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/include/pmap.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_condvar.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_kthread.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_lock.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_sig.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_sx.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_synch.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_thread.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/link_elf.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/link_elf_obj.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_sleepqueue.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/tty_pts.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/tty_pty.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_vnops.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/mips/mips/machdep.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/mips/mips/tick.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/Makefile#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/netgraph/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/netgraph/bluetooth/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/tcp_syncache.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netipsec/key.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/pc98/conf/GENERIC#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/pc98/conf/NOTES#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/pci/if_rlreg.h#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/pci/viapm.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/powerpc/conf/GENERIC#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/conf/GENERIC#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sun4v/conf/GENERIC#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/proc.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/sleepqueue.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ffs/ffs_vfsops.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ufs/quota.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ufs/ufs_quota.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ufs/ufsmount.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/vm/vm_glue.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/vm/vm_mmap.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/vm/vm_object.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/vm/vm_pageout.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/vm/vm_zeroidle.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/calendar/calendar.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/calendar/calendar.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/calendar/calendars/calendar.holiday#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/calendar/day.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/calendar/io.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/calendar/ostern.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/calendar/paskha.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/cpio/cpio.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/gzip/gzip.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/lex/flex.skl#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/quota/quota.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/rs/rs.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/tar/bsdtar.h#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/truncate/truncate.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/yacc/closure.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/yacc/defs.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/Makefile#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/crashinfo/Makefile#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/crashinfo/crashinfo.8#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/crashinfo/crashinfo.sh#1 branch Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/bin/echo/echo.c#2 (text+ko) ==== @@ -39,7 +39,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/bin/echo/echo.c,v 1.18 2005/01/10 08:39:22 imp Exp $"); +__FBSDID("$FreeBSD: src/bin/echo/echo.c,v 1.19 2008/08/04 01:25:48 cperciva Exp $"); #include #include @@ -55,7 +55,7 @@ * Report an error and exit. * Use it instead of err(3) to avoid linking-in stdio. */ -static void +static __dead2 void errexit(const char *prog, const char *reason) { char *errstr = strerror(errno); ==== //depot/projects/soc2008/trasz_nfs4acl/bin/sh/mknodes.c#2 (text+ko) ==== @@ -42,7 +42,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/bin/sh/mknodes.c,v 1.17 2004/04/06 20:06:51 markm Exp $"); +__FBSDID("$FreeBSD: src/bin/sh/mknodes.c,v 1.18 2008/08/04 01:25:48 cperciva Exp $"); /* * This program reads the nodetypes file and nodes.c.pat file. It generates @@ -103,7 +103,7 @@ static int nextfield(char *); static void skipbl(void); static int readline(void); -static void error(const char *, ...) __printf0like(1, 2); +static void error(const char *, ...) __printf0like(1, 2) __dead2; static char *savestr(const char *); ==== //depot/projects/soc2008/trasz_nfs4acl/bin/stty/gfmt.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/stty/gfmt.c,v 1.20 2004/04/06 20:06:53 markm Exp $"); +__FBSDID("$FreeBSD: src/bin/stty/gfmt.c,v 1.21 2008/08/04 01:25:48 cperciva Exp $"); #include @@ -44,7 +44,7 @@ #include "stty.h" #include "extern.h" -static void gerr(const char *s); +static void gerr(const char *s) __dead2; static void gerr(const char *s) ==== //depot/projects/soc2008/trasz_nfs4acl/contrib/ipfilter/ip_fil.c#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/ipfilter/ip_fil.c,v 1.7 2008/07/24 12:35:05 darrenr Exp $ */ +/* $FreeBSD: src/contrib/ipfilter/ip_fil.c,v 1.8 2008/08/04 22:45:27 mlaier Exp $ */ /* * Copyright (C) 1993-2001 by Darren Reed. @@ -803,6 +803,7 @@ } +#ifndef ipf_random u_32_t ipf_random() { static int seeded = 0; @@ -816,3 +817,4 @@ } return rand(); } +#endif ==== //depot/projects/soc2008/trasz_nfs4acl/etc/rc.firewall#4 (text+ko) ==== @@ -23,7 +23,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/etc/rc.firewall,v 1.56 2008/07/17 20:00:18 danger Exp $ +# $FreeBSD: src/etc/rc.firewall,v 1.57 2008/08/03 19:01:07 danger Exp $ # # @@ -194,7 +194,6 @@ ${fwcmd} add deny tcp from any to any setup # Allow DNS queries out in the world - ${fwcmd} add pass tcp from me to any 53 setup keep-state ${fwcmd} add pass udp from me to any 53 keep-state # Allow NTP queries out in the world @@ -295,7 +294,6 @@ ${fwcmd} add pass tcp from any to any setup # Allow DNS queries out in the world - ${fwcmd} add pass tcp from ${oip} to any 53 setup keep-state ${fwcmd} add pass udp from ${oip} to any 53 keep-state # Allow NTP queries out in the world ==== //depot/projects/soc2008/trasz_nfs4acl/gnu/usr.bin/groff/tmac/mdoc.local#2 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/gnu/usr.bin/groff/tmac/mdoc.local,v 1.63 2008/02/23 19:27:54 ru Exp $ +.\" $FreeBSD: src/gnu/usr.bin/groff/tmac/mdoc.local,v 1.64 2008/08/06 14:02:05 dfr Exp $ .\" .\" %beginstrip% . @@ -53,6 +53,7 @@ .ds doc-str-Lb-libmemstat Kernel Memory Allocator Statistics Library (libmemstat, \-lmemstat) .ds doc-str-Lb-libnetgraph Netgraph User Library (libnetgraph, \-lnetgraph) .ds doc-str-Lb-libpmc Performance Monitoring Counters Interface Library (libpmc, \-lpmc) +.ds doc-str-Lb-librpcsec_gss RPC GSS-API Authentication Library (librpcsec_gss, \-lrpcsec_gss) .ds doc-str-Lb-librpcsvc RPC Service Library (librpcsvc, \-lrpcsvc) .ds doc-str-Lb-libsdp Bluetooth Service Discovery Protocol User Library (libsdp, \-lsdp) .ds doc-str-Lb-libthr 1:1 Threading Library (libthr, \-lthr) ==== //depot/projects/soc2008/trasz_nfs4acl/include/gssapi/gssapi.h#2 (text+ko) ==== @@ -25,7 +25,7 @@ * HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. * - * $FreeBSD: src/include/gssapi/gssapi.h,v 1.4 2008/05/16 02:06:10 dfr Exp $ + * $FreeBSD: src/include/gssapi/gssapi.h,v 1.5 2008/08/06 14:02:05 dfr Exp $ */ #ifndef _GSSAPI_GSSAPI_H_ @@ -837,6 +837,15 @@ gss_buffer_t /* buffer for result */ ); +#ifdef _UID_T_DECLARED +OM_uint32 gss_pname_to_uid + (OM_uint32 *, /* minor status */ + const gss_name_t pname, /* principal name */ + const gss_OID mech, /* mechanism to query */ + uid_t *uidp /* pointer to UID for result */ + ); +#endif + __END_DECLS #endif /* _GSSAPI_GSSAPI_H_ */ ==== //depot/projects/soc2008/trasz_nfs4acl/include/rpc/Makefile#2 (text+ko) ==== @@ -1,5 +1,5 @@ # from: @(#)Makefile 2.3 88/08/11 4.0 RPCSRC -# $FreeBSD: src/include/rpc/Makefile,v 1.3 2007/04/10 22:10:16 pjd Exp $ +# $FreeBSD: src/include/rpc/Makefile,v 1.4 2008/08/06 14:02:05 dfr Exp $ .SUFFIXES: .x @@ -11,7 +11,7 @@ HFILES= auth.h auth_unix.h clnt.h clnt_soc.h clnt_stat.h \ nettype.h pmap_clnt.h pmap_prot.h pmap_rmt.h raw.h \ - rpc.h rpc_msg.h rpcb_clnt.h rpcent.h rpc_com.h \ + rpc.h rpc_msg.h rpcb_clnt.h rpcent.h rpc_com.h rpcsec_gss.h \ svc.h svc_auth.h svc_soc.h svc_dg.h xdr.h # Secure RPC ==== //depot/projects/soc2008/trasz_nfs4acl/include/rpc/auth.h#2 (text+ko) ==== @@ -31,7 +31,7 @@ * from: @(#)auth.h 1.17 88/02/08 SMI * from: @(#)auth.h 2.3 88/08/07 4.0 RPCSRC * from: @(#)auth.h 1.43 98/02/02 SMI - * $FreeBSD: src/include/rpc/auth.h,v 1.21 2006/02/28 16:02:26 deischen Exp $ + * $FreeBSD: src/include/rpc/auth.h,v 1.22 2008/08/06 14:02:05 dfr Exp $ */ /* @@ -132,7 +132,7 @@ * failed locally */ AUTH_INVALIDRESP=6, /* bogus response verifier */ - AUTH_FAILED=7 /* some unknown reason */ + AUTH_FAILED=7, /* some unknown reason */ #ifdef KERBEROS /* * kerberos errors @@ -142,8 +142,14 @@ AUTH_TIMEEXPIRE = 9, /* time of credential expired */ AUTH_TKT_FILE = 10, /* something wrong with ticket file */ AUTH_DECODE = 11, /* can't decode authenticator */ - AUTH_NET_ADDR = 12 /* wrong net address in ticket */ + AUTH_NET_ADDR = 12, /* wrong net address in ticket */ #endif /* KERBEROS */ + /* + * RPCSEC_GSS errors + */ + RPCSEC_GSS_CREDPROBLEM = 13, + RPCSEC_GSS_CTXPROBLEM = 14, + RPCSEC_GSS_NODISPATCH = 0x8000000 }; union des_block { @@ -352,5 +358,13 @@ #define AUTH_DH 3 /* for Diffie-Hellman mechanism */ #define AUTH_DES AUTH_DH /* for backward compatibility */ #define AUTH_KERB 4 /* kerberos style */ +#define RPCSEC_GSS 6 /* RPCSEC_GSS */ + +/* + * Pseudo auth flavors for RPCSEC_GSS. + */ +#define RPCSEC_GSS_KRB5 390003 +#define RPCSEC_GSS_KRB5I 390004 +#define RPCSEC_GSS_KRB5P 390005 #endif /* !_RPC_AUTH_H */ ==== //depot/projects/soc2008/trasz_nfs4acl/include/rpc/svc.h#2 (text+ko) ==== @@ -30,7 +30,7 @@ * * from: @(#)svc.h 1.35 88/12/17 SMI * from: @(#)svc.h 1.27 94/04/25 SMI - * $FreeBSD: src/include/rpc/svc.h,v 1.24 2003/06/15 10:32:01 mbr Exp $ + * $FreeBSD: src/include/rpc/svc.h,v 1.25 2008/08/06 14:02:05 dfr Exp $ */ /* @@ -127,6 +127,27 @@ } SVCXPRT; /* + * Interface to server-side authentication flavors. + */ +typedef struct __rpc_svcauth { + struct svc_auth_ops { + int (*svc_ah_wrap)(struct __rpc_svcauth *, XDR *, + xdrproc_t, caddr_t); + int (*svc_ah_unwrap)(struct __rpc_svcauth *, XDR *, + xdrproc_t, caddr_t); + } *svc_ah_ops; + void *svc_ah_private; +} SVCAUTH; + +/* + * Server transport extensions (accessed via xp_p3). + */ +typedef struct __rpc_svcxprt_ext { + int xp_flags; /* versquiet */ + SVCAUTH xp_auth; /* interface to auth methods */ +} SVCXPRT_EXT; + +/* * Service request */ struct svc_req { @@ -184,6 +205,20 @@ #define SVC_CONTROL(xprt, rq, in) \ (*(xprt)->xp_ops2->xp_control)((xprt), (rq), (in)) +#define SVC_EXT(xprt) \ + ((SVCXPRT_EXT *) xprt->xp_p3) + +#define SVC_AUTH(xprt) \ + (SVC_EXT(xprt)->xp_auth) + +/* + * Operations defined on an SVCAUTH handle + */ +#define SVCAUTH_WRAP(auth, xdrs, xfunc, xwhere) \ + ((auth)->svc_ah_ops->svc_ah_wrap(auth, xdrs, xfunc, xwhere)) +#define SVCAUTH_UNWRAP(auth, xdrs, xfunc, xwhere) \ + ((auth)->svc_ah_ops->svc_ah_unwrap(auth, xdrs, xfunc, xwhere)) + /* * Service registration * @@ -298,6 +333,12 @@ #endif /* def FD_SETSIZE */ /* + * A set of null auth methods used by any authentication protocols + * that don't need to inspect or modify the message body. + */ +extern SVCAUTH _svc_auth_null; + +/* * a small program implemented by the svc_rpc implementation itself; * also see clnt.h for protocol numbers. */ @@ -306,6 +347,8 @@ __END_DECLS __BEGIN_DECLS +extern SVCXPRT *svc_xprt_alloc(void); +extern void svc_xprt_free(SVCXPRT *); extern void svc_getreq(int); extern void svc_getreqset(fd_set *); extern void svc_getreq_common(int); ==== //depot/projects/soc2008/trasz_nfs4acl/kerberos5/lib/libgssapi_krb5/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/kerberos5/lib/libgssapi_krb5/Makefile,v 1.1 2008/05/07 13:53:03 dfr Exp $ +# $FreeBSD: src/kerberos5/lib/libgssapi_krb5/Makefile,v 1.2 2008/08/06 14:02:05 dfr Exp $ LIB= gssapi_krb5 LDFLAGS= -Wl,-Bsymbolic @@ -46,6 +46,7 @@ inquire_mechs_for_name.c \ inquire_names_for_mech.c \ inquire_sec_context_by_oid.c \ + pname_to_uid.c \ prefix.c \ prf.c \ process_context_token.c \ ==== //depot/projects/soc2008/trasz_nfs4acl/lib/Makefile#4 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/4/93 -# $FreeBSD: src/lib/Makefile,v 1.231 2008/05/25 22:11:23 rwatson Exp $ +# $FreeBSD: src/lib/Makefile,v 1.232 2008/08/06 14:02:05 dfr Exp $ .include @@ -22,6 +22,7 @@ # libtacplus must be built before libpam. # libutil must be built before libpam. # libypclnt must be built before libpam. +# libgssapi must be built before librpcsec_gss # # Otherwise, the SUBDIR list should be in alphabetical order. @@ -31,7 +32,7 @@ libbegemot ${_libbluetooth} libbsnmp libbz2 \ libcalendar libcam libcompat libdevinfo libdevstat libdisk \ libdwarf libedit libexpat libfetch libftpio libgeom ${_libgpib} \ - ${_libgssapi} libipsec \ + ${_libgssapi} ${_librpcsec_gss} libipsec \ ${_libipx} libkiconv libmagic libmemstat ${_libmilter} ${_libmp} \ ${_libncp} ${_libngatm} libopie libpam libpcap \ libpmc libproc librt ${_libsdp} ${_libsm} ${_libsmb} \ @@ -62,6 +63,7 @@ .if ${MK_GSSAPI} != "no" _libgssapi= libgssapi +_librpcsec_gss= librpcsec_gss .endif .if ${MK_IPX} != "no" ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/archive_private.h#2 (text+ko) ==== @@ -22,7 +22,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/lib/libarchive/archive_private.h,v 1.29 2007/04/02 00:15:45 kientzle Exp $ + * $FreeBSD: src/lib/libarchive/archive_private.h,v 1.30 2008/08/04 01:25:48 cperciva Exp $ */ #ifndef ARCHIVE_PRIVATE_H_INCLUDED @@ -92,7 +92,7 @@ void __archive_check_magic(struct archive *, unsigned int magic, unsigned int state, const char *func); -void __archive_errx(int retvalue, const char *msg); +void __archive_errx(int retvalue, const char *msg) __dead2; #define err_combine(a,b) ((a) < (b) ? (a) : (b)) ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/arc4random.c#3 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/gen/arc4random.c,v 1.23 2008/07/25 15:42:22 ache Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/gen/arc4random.c,v 1.24 2008/08/03 20:15:22 ache Exp $"); #include "namespace.h" #include @@ -55,6 +55,7 @@ static pthread_mutex_t arc4random_mtx = PTHREAD_MUTEX_INITIALIZER; #define RANDOMDEV "/dev/urandom" +#define KEYSIZE 128 #define THREAD_LOCK() \ do { \ if (__isthreaded) \ @@ -106,24 +107,27 @@ static void arc4_stir(void) { - int fd, n; + int done, fd, n; struct { - struct timeval tv; - pid_t pid; - u_int8_t rnd[128 - sizeof(struct timeval) - sizeof(pid_t)]; - } rdat; + struct timeval tv; + pid_t pid; + u_int8_t rnd[KEYSIZE]; + } rdat; - gettimeofday(&rdat.tv, NULL); - rdat.pid = getpid(); fd = _open(RANDOMDEV, O_RDONLY, 0); + done = 0; if (fd >= 0) { - (void) _read(fd, rdat.rnd, sizeof(rdat.rnd)); - _close(fd); + if (_read(fd, &rdat, KEYSIZE) == KEYSIZE) + done = 1; + (void)_close(fd); } - /* fd < 0? Ah, what the heck. We'll just take whatever was on the - * stack... */ + if (!done) { + (void)gettimeofday(&rdat.tv, NULL); + rdat.pid = getpid(); + /* We'll just take whatever was on the stack too... */ + } - arc4_addrandom((void *) &rdat, sizeof(rdat)); + arc4_addrandom((u_char *)&rdat, KEYSIZE); /* * Throw away the first N bytes of output, as suggested in the ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/getbsize.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ static char sccsid[] = "@(#)getbsize.c 8.1 (Berkeley) 6/4/93"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/gen/getbsize.c,v 1.8 2007/01/09 00:27:53 imp Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/gen/getbsize.c,v 1.9 2008/08/04 06:53:13 cperciva Exp $"); #include #include @@ -83,6 +83,7 @@ default: fmterr: warnx("%s: unknown blocksize", p); n = 512; + max = MAXB; mul = 1; break; } ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/rpc/Makefile.inc#2 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 5.11 (Berkeley) 9/6/90 -# $FreeBSD: src/lib/libc/rpc/Makefile.inc,v 1.28 2006/03/13 01:14:59 deischen Exp $ +# $FreeBSD: src/lib/libc/rpc/Makefile.inc,v 1.29 2008/08/06 14:02:05 dfr Exp $ .PATH: ${.CURDIR}/rpc ${.CURDIR}/. SRCS+= auth_none.c auth_unix.c authunix_prot.c bindresvport.c clnt_bcast.c \ @@ -8,8 +8,9 @@ getrpcport.c mt_misc.c pmap_clnt.c pmap_getmaps.c pmap_getport.c \ pmap_prot.c pmap_prot2.c pmap_rmt.c rpc_prot.c rpc_commondata.c \ rpc_callmsg.c rpc_generic.c rpc_soc.c rpcb_clnt.c rpcb_prot.c \ - rpcb_st_xdr.c svc.c svc_auth.c svc_dg.c svc_auth_unix.c svc_generic.c \ - svc_raw.c svc_run.c svc_simple.c svc_vc.c + rpcb_st_xdr.c rpcsec_gss_stub.c svc.c svc_auth.c svc_dg.c \ + svc_auth_unix.c svc_generic.c svc_raw.c svc_run.c svc_simple.c \ + svc_vc.c # Secure-RPC SRCS+= auth_time.c auth_des.c authdes_prot.c des_crypt.c des_soft.c \ ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/rpc/Symbol.map#2 (text) ==== @@ -1,5 +1,5 @@ /* - * $FreeBSD: src/lib/libc/rpc/Symbol.map,v 1.3 2007/05/31 13:01:34 deischen Exp $ + * $FreeBSD: src/lib/libc/rpc/Symbol.map,v 1.4 2008/08/06 14:02:05 dfr Exp $ */ FBSD_1.0 { @@ -244,4 +244,8 @@ * Remove this hack if rpcinfo stops building with it. */ __svc_clean_idle; + __rpc_gss_unwrap; + __rpc_gss_unwrap_stub; + __rpc_gss_wrap; + __rpc_gss_wrap_stub; }; ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/rpc/clnt_dg.c#2 (text+ko) ==== @@ -37,7 +37,7 @@ static char sccsid[] = "@(#)clnt_dg.c 1.19 89/03/16 Copyr 1988 Sun Micro"; #endif #include -__FBSDID("$FreeBSD: src/lib/libc/rpc/clnt_dg.c,v 1.19 2007/03/04 12:25:03 simon Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/rpc/clnt_dg.c,v 1.20 2008/08/06 14:02:05 dfr Exp $"); /* * Implements a connectionless client side RPC. @@ -52,6 +52,7 @@ #include #include #include +#include #include #include #include @@ -113,6 +114,8 @@ /* VARIABLES PROTECTED BY clnt_fd_lock: dg_fd_locks, dg_cv */ +#define MCALL_MSG_SIZE 24 + /* * Private data kept per client handle */ @@ -127,6 +130,7 @@ XDR cu_outxdrs; u_int cu_xdrpos; u_int cu_sendsz; /* send size */ + char cu_outhdr[MCALL_MSG_SIZE]; char *cu_outbuf; u_int cu_recvsz; /* recv size */ int cu_async; @@ -253,13 +257,16 @@ call_msg.rm_xid = __RPC_GETXID(&now); call_msg.rm_call.cb_prog = program; call_msg.rm_call.cb_vers = version; - xdrmem_create(&(cu->cu_outxdrs), cu->cu_outbuf, sendsz, XDR_ENCODE); - if (! xdr_callhdr(&(cu->cu_outxdrs), &call_msg)) { + xdrmem_create(&(cu->cu_outxdrs), cu->cu_outhdr, MCALL_MSG_SIZE, + XDR_ENCODE); + if (! xdr_callhdr(&cu->cu_outxdrs, &call_msg)) { rpc_createerr.cf_stat = RPC_CANTENCODEARGS; /* XXX */ rpc_createerr.cf_error.re_errno = 0; goto err2; } cu->cu_xdrpos = XDR_GETPOS(&(cu->cu_outxdrs)); + XDR_DESTROY(&cu->cu_outxdrs); + xdrmem_create(&cu->cu_outxdrs, cu->cu_outbuf, sendsz, XDR_ENCODE); /* XXX fvdl - do we still want this? */ #if 0 @@ -312,6 +319,7 @@ XDR reply_xdrs; bool_t ok; int nrefreshes = 2; /* number of times to refresh cred */ + int nretries = 0; /* number of times we retransmitted */ struct timeval timeout; struct timeval retransmit_time; struct timeval next_sendtime, starttime, time_waited, tv; @@ -375,25 +383,37 @@ kin_len = 1; call_again: - xdrs = &(cu->cu_outxdrs); - if (cu->cu_async == TRUE && xargs == NULL) - goto get_reply; - xdrs->x_op = XDR_ENCODE; - XDR_SETPOS(xdrs, cu->cu_xdrpos); /* * the transaction is the first thing in the out buffer * XXX Yes, and it's in network byte order, so we should to * be careful when we increment it, shouldn't we. */ - xid = ntohl(*(u_int32_t *)(void *)(cu->cu_outbuf)); + xid = ntohl(*(u_int32_t *)(void *)(cu->cu_outhdr)); xid++; - *(u_int32_t *)(void *)(cu->cu_outbuf) = htonl(xid); + *(u_int32_t *)(void *)(cu->cu_outhdr) = htonl(xid); +call_again_same_xid: + xdrs = &(cu->cu_outxdrs); + if (cu->cu_async == TRUE && xargs == NULL) + goto get_reply; + xdrs->x_op = XDR_ENCODE; + XDR_SETPOS(xdrs, 0); - if ((! XDR_PUTINT32(xdrs, &proc)) || - (! AUTH_MARSHALL(cl->cl_auth, xdrs)) || - (! (*xargs)(xdrs, argsp))) { - cu->cu_error.re_status = RPC_CANTENCODEARGS; - goto out; + if (cl->cl_auth->ah_cred.oa_flavor != RPCSEC_GSS) { + if ((! XDR_PUTBYTES(xdrs, cu->cu_outhdr, cu->cu_xdrpos)) || + (! XDR_PUTINT32(xdrs, &proc)) || + (! AUTH_MARSHALL(cl->cl_auth, xdrs)) || + (! (*xargs)(xdrs, argsp))) { + cu->cu_error.re_status = RPC_CANTENCODEARGS; + goto out; + } + } else { + *(uint32_t *) &cu->cu_outhdr[cu->cu_xdrpos] = htonl(proc); + if (!__rpc_gss_wrap(cl->cl_auth, cu->cu_outhdr, + cu->cu_xdrpos + sizeof(uint32_t), + xdrs, xargs, argsp)) { + cu->cu_error.re_status = RPC_CANTENCODEARGS; + goto out; + } } outlen = (size_t)XDR_GETPOS(xdrs); @@ -420,8 +440,13 @@ * (We assume that this is actually only executed once.) */ reply_msg.acpted_rply.ar_verf = _null_auth; - reply_msg.acpted_rply.ar_results.where = resultsp; - reply_msg.acpted_rply.ar_results.proc = xresults; + if (cl->cl_auth->ah_cred.oa_flavor != RPCSEC_GSS) { + reply_msg.acpted_rply.ar_results.where = resultsp; + reply_msg.acpted_rply.ar_results.proc = xresults; + } else { + reply_msg.acpted_rply.ar_results.where = NULL; + reply_msg.acpted_rply.ar_results.proc = (xdrproc_t)xdr_void; + } for (;;) { /* Decide how long to wait. */ @@ -483,7 +508,17 @@ &retransmit_time); timeradd(&next_sendtime, &retransmit_time, &next_sendtime); - goto send_again; + nretries++; + + /* + * When retransmitting a RPCSEC_GSS message, + * we must use a new sequence number (handled + * by __rpc_gss_wrap above). + */ + if (cl->cl_auth->ah_cred.oa_flavor != RPCSEC_GSS) + goto send_again; + else + goto call_again_same_xid; } } inlen = (socklen_t)recvlen; @@ -505,8 +540,37 @@ if (cu->cu_error.re_status == RPC_SUCCESS) { if (! AUTH_VALIDATE(cl->cl_auth, &reply_msg.acpted_rply.ar_verf)) { + if (nretries && + cl->cl_auth->ah_cred.oa_flavor + == RPCSEC_GSS) + /* + * If we retransmitted, its + * possible that we will + * receive a reply for one of + * the earlier transmissions + * (which will use an older + * RPCSEC_GSS sequence + * number). In this case, just + * go back and listen for a + * new reply. We could keep a + * record of all the seq + * numbers we have transmitted + * so far so that we could + * accept a reply for any of + * them here. + */ + goto get_reply; cu->cu_error.re_status = RPC_AUTHERROR; cu->cu_error.re_why = AUTH_INVALIDRESP; + } else { + if (cl->cl_auth->ah_cred.oa_flavor + == RPCSEC_GSS) { + if (!__rpc_gss_unwrap(cl->cl_auth, + &reply_xdrs, xresults, + resultsp)) + cu->cu_error.re_status = + RPC_CANTDECODERES; + } } if (reply_msg.acpted_rply.ar_verf.oa_base != NULL) { xdrs->x_op = XDR_FREE; @@ -670,12 +734,12 @@ * This will get the xid of the PREVIOUS call */ *(u_int32_t *)info = - ntohl(*(u_int32_t *)(void *)cu->cu_outbuf); + ntohl(*(u_int32_t *)(void *)cu->cu_outhdr); break; case CLSET_XID: /* This will set the xid of the NEXT call */ - *(u_int32_t *)(void *)cu->cu_outbuf = + *(u_int32_t *)(void *)cu->cu_outhdr = htonl(*(u_int32_t *)info - 1); /* decrement by 1 as clnt_dg_call() increments once */ break; @@ -688,12 +752,12 @@ * call_struct is changed */ *(u_int32_t *)info = - ntohl(*(u_int32_t *)(void *)(cu->cu_outbuf + + ntohl(*(u_int32_t *)(void *)(cu->cu_outhdr + 4 * BYTES_PER_XDR_UNIT)); break; case CLSET_VERS: - *(u_int32_t *)(void *)(cu->cu_outbuf + 4 * BYTES_PER_XDR_UNIT) + *(u_int32_t *)(void *)(cu->cu_outhdr + 4 * BYTES_PER_XDR_UNIT) = htonl(*(u_int32_t *)info); break; @@ -705,12 +769,12 @@ * call_struct is changed */ *(u_int32_t *)info = - ntohl(*(u_int32_t *)(void *)(cu->cu_outbuf + + ntohl(*(u_int32_t *)(void *)(cu->cu_outhdr + 3 * BYTES_PER_XDR_UNIT)); break; case CLSET_PROG: - *(u_int32_t *)(void *)(cu->cu_outbuf + 3 * BYTES_PER_XDR_UNIT) + *(u_int32_t *)(void *)(cu->cu_outhdr + 3 * BYTES_PER_XDR_UNIT) = htonl(*(u_int32_t *)info); break; case CLSET_ASYNC: ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/rpc/clnt_perror.c#2 (text+ko) ==== @@ -35,7 +35,7 @@ static char *sccsid = "@(#)clnt_perror.c 2.1 88/07/29 4.0 RPCSRC"; #endif #include -__FBSDID("$FreeBSD: src/lib/libc/rpc/clnt_perror.c,v 1.17 2004/10/16 06:11:34 obrien Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/rpc/clnt_perror.c,v 1.18 2008/08/06 14:02:05 dfr Exp $"); /* * clnt_perror.c @@ -309,7 +309,14 @@ "Server rejected verifier", /* 4 - AUTH_REJECTEDVERF */ "Client credential too weak", /* 5 - AUTH_TOOWEAK */ "Invalid server verifier", /* 6 - AUTH_INVALIDRESP */ - "Failed (unspecified error)" /* 7 - AUTH_FAILED */ + "Failed (unspecified error)", /* 7 - AUTH_FAILED */ + "Kerberos generic error", /* 8 - AUTH_KERB_GENERIC*/ + "Kerberos credential expired", /* 9 - AUTH_TIMEEXPIRE */ + "Bad kerberos ticket file", /* 10 - AUTH_TKT_FILE */ + "Can't decode kerberos authenticator", /* 11 - AUTH_DECODE */ + "Address wrong in kerberos ticket", /* 12 - AUTH_NET_ADDR */ + "GSS-API crediential problem", /* 13 - RPCSEC_GSS_CREDPROBLEM */ + "GSS-API context problem" /* 14 - RPCSEC_GSS_CTXPROBLEM */ }; static char * ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/rpc/clnt_vc.c#2 (text+ko) ==== @@ -35,7 +35,7 @@ static char sccsid3[] = "@(#)clnt_vc.c 1.19 89/03/16 Copyr 1988 Sun Micro"; #endif #include -__FBSDID("$FreeBSD: src/lib/libc/rpc/clnt_vc.c,v 1.20 2006/09/09 22:18:57 mbr Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/rpc/clnt_vc.c,v 1.21 2008/08/06 14:02:05 dfr Exp $"); /* * clnt_tcp.c, Implements a TCP/IP based, client side RPC. @@ -77,6 +77,7 @@ #include #include +#include #include "un-namespace.h" #include "rpc_com.h" #include "mt_misc.h" @@ -285,6 +286,7 @@ } ct->ct_mpos = XDR_GETPOS(&(ct->ct_xdrs)); XDR_DESTROY(&(ct->ct_xdrs)); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Aug 6 22:28:54 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 92F25106567C; Wed, 6 Aug 2008 22:28:54 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 31326106566C for ; Wed, 6 Aug 2008 22:28:54 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1E1A48FC17 for ; Wed, 6 Aug 2008 22:28:54 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m76MSsXe013625 for ; Wed, 6 Aug 2008 22:28:54 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m76MSrh8013623 for perforce@freebsd.org; Wed, 6 Aug 2008 22:28:53 GMT (envelope-from rpaulo@FreeBSD.org) Date: Wed, 6 Aug 2008 22:28:53 GMT Message-Id: <200808062228.m76MSrh8013623@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 146807 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, 06 Aug 2008 22:28:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=146807 Change 146807 by rpaulo@rpaulo_epsilon on 2008/08/06 22:28:19 Change the MSL to the one BSDs use (30 sec). Affected files ... .. //depot/projects/soc2008/rpaulo-tcpad/tcpad.h#14 edit Differences ... ==== //depot/projects/soc2008/rpaulo-tcpad/tcpad.h#14 (text+ko) ==== @@ -23,14 +23,14 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2008/rpaulo-tcpad/tcpad.h#13 $ + * $P4: //depot/projects/soc2008/rpaulo-tcpad/tcpad.h#14 $ */ #ifndef _TCPAD_H_ #define _TCPAD_H_ #define TCPAD_VERSION "0.1" -#define TCPAD_MSL 60 /* sec. */ +#define TCPAD_MSL 30 /* sec. */ /* Globals */ pcap_t *p; From owner-p4-projects@FreeBSD.ORG Thu Aug 7 00:00:28 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 33EE31065679; Thu, 7 Aug 2008 00:00:28 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EB1351065673 for ; Thu, 7 Aug 2008 00:00:27 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D8B448FC08 for ; Thu, 7 Aug 2008 00:00:27 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m7700ReY022343 for ; Thu, 7 Aug 2008 00:00:27 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m7700ReL022341 for perforce@freebsd.org; Thu, 7 Aug 2008 00:00:27 GMT (envelope-from trasz@freebsd.org) Date: Thu, 7 Aug 2008 00:00:27 GMT Message-Id: <200808070000.m7700ReL022341@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 146809 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: Thu, 07 Aug 2008 00:00:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=146809 Change 146809 by trasz@trasz_traszkan on 2008/08/07 00:00:01 Fix a bug where mkdir in a directory that has immutable flag set would succeed. This was happening, because with granularity support, permission checked during mkdir is VAPPEND, not VWRITE. With this fix, UFS passes fstest again. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ufs/ufs_vnops.c#9 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ufs/ufs_vnops.c#9 (text+ko) ==== @@ -320,7 +320,7 @@ * unless the file is a socket, fifo, or a block or * character device resident on the filesystem. */ - if (mode & VWRITE) { + if (mode & (VWRITE | VAPPEND)) { switch (vp->v_type) { case VDIR: case VLNK: @@ -334,7 +334,7 @@ } /* If immutable bit set, nobody gets to write it. */ - if ((mode & VWRITE) && (ip->i_flags & (IMMUTABLE | SF_SNAPSHOT))) + if ((mode & (VWRITE | VAPPEND)) && (ip->i_flags & (IMMUTABLE | SF_SNAPSHOT))) return (EPERM); #ifdef UFS_ACL From owner-p4-projects@FreeBSD.ORG Thu Aug 7 01:01:32 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A8033106567A; Thu, 7 Aug 2008 01:01:32 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 690E01065673 for ; Thu, 7 Aug 2008 01:01:32 +0000 (UTC) (envelope-from peter-gmail@wemm.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 547378FC14 for ; Thu, 7 Aug 2008 01:01:32 +0000 (UTC) (envelope-from peter-gmail@wemm.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m7711WlT037721 for ; Thu, 7 Aug 2008 01:01:32 GMT (envelope-from peter-gmail@wemm.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m7711TAe037719 for perforce@freebsd.org; Thu, 7 Aug 2008 01:01:29 GMT (envelope-from peter-gmail@wemm.org) Date: Thu, 7 Aug 2008 01:01:29 GMT Message-Id: <200808070101.m7711TAe037719@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter-gmail@wemm.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 146811 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: Thu, 07 Aug 2008 01:01:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=146811 Change 146811 by peter@peter_daintree on 2008/08/07 01:00:36 IFC @181233 Affected files ... .. //depot/projects/hammer/Makefile.inc1#138 integrate .. //depot/projects/hammer/ObsoleteFiles.inc#56 integrate .. //depot/projects/hammer/UPDATING#120 integrate .. //depot/projects/hammer/bin/echo/echo.c#7 integrate .. //depot/projects/hammer/bin/mv/mv.c#12 integrate .. //depot/projects/hammer/bin/ps/ps.c#23 integrate .. //depot/projects/hammer/bin/sh/eval.c#16 integrate .. //depot/projects/hammer/bin/sh/mknodes.c#4 integrate .. //depot/projects/hammer/bin/stty/gfmt.c#4 integrate .. //depot/projects/hammer/bin/stty/print.c#4 integrate .. //depot/projects/hammer/contrib/bind9/CHANGES#10 integrate .. //depot/projects/hammer/contrib/bind9/FREEBSD-Upgrade#10 delete .. //depot/projects/hammer/contrib/bind9/FREEBSD-Xlist#4 delete .. //depot/projects/hammer/contrib/bind9/bin/named/client.c#8 integrate .. //depot/projects/hammer/contrib/bind9/bin/named/server.c#8 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM-book.xml#8 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.ch06.html#8 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.pdf#6 integrate .. //depot/projects/hammer/contrib/bind9/lib/bind/aclocal.m4#3 delete .. //depot/projects/hammer/contrib/bind9/lib/bind/config.h.in#6 delete .. //depot/projects/hammer/contrib/bind9/lib/bind/configure#7 delete .. //depot/projects/hammer/contrib/bind9/lib/bind9/check.c#7 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/api#8 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/dispatch.c#6 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/include/dns/dispatch.h#5 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/resolver.c#9 integrate .. //depot/projects/hammer/contrib/bind9/version#10 integrate .. //depot/projects/hammer/contrib/cpio/ABOUT-NLS#2 integrate .. //depot/projects/hammer/contrib/cpio/COPYING#3 integrate .. //depot/projects/hammer/contrib/cpio/ChangeLog#3 integrate .. //depot/projects/hammer/contrib/cpio/INSTALL#2 integrate .. //depot/projects/hammer/contrib/cpio/NEWS#3 integrate .. //depot/projects/hammer/contrib/cpio/THANKS#2 integrate .. //depot/projects/hammer/contrib/cpio/TODO#2 integrate .. //depot/projects/hammer/contrib/cpio/doc/cpio.texi#3 integrate .. //depot/projects/hammer/contrib/cpio/doc/version.texi#1 branch .. //depot/projects/hammer/contrib/cpio/lib/alloca_.h#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/argp-ba.c#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/argp-eexst.c#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/argp-fmtstream.c#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/argp-fmtstream.h#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/argp-fs-xinl.c#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/argp-help.c#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/argp-namefrob.h#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/argp-parse.c#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/argp-pin.c#1 branch .. //depot/projects/hammer/contrib/cpio/lib/argp-pv.c#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/argp-pvh.c#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/argp-xinl.c#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/argp.h#3 integrate .. //depot/projects/hammer/contrib/cpio/lib/basename.c#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/dirname.c#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/dirname.h#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/error.c#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/error.h#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/exit.h#2 delete .. //depot/projects/hammer/contrib/cpio/lib/exitfail.c#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/exitfail.h#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/fatal.c#1 branch .. //depot/projects/hammer/contrib/cpio/lib/full-write.c#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/full-write.h#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/getopt.c#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/getopt1.c#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/getopt_.h#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/getopt_int.h#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/gettext.h#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/hash.c#1 branch .. //depot/projects/hammer/contrib/cpio/lib/hash.h#1 branch .. //depot/projects/hammer/contrib/cpio/lib/intprops.h#1 branch .. //depot/projects/hammer/contrib/cpio/lib/inttostr.c#1 branch .. //depot/projects/hammer/contrib/cpio/lib/inttostr.h#1 branch .. //depot/projects/hammer/contrib/cpio/lib/localedir.h#2 delete .. //depot/projects/hammer/contrib/cpio/lib/mempcpy.c#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/mempcpy.h#2 delete .. //depot/projects/hammer/contrib/cpio/lib/paxerror.c#1 branch .. //depot/projects/hammer/contrib/cpio/lib/paxexit.c#1 branch .. //depot/projects/hammer/contrib/cpio/lib/paxlib.h#1 branch .. //depot/projects/hammer/contrib/cpio/lib/paxnames.c#1 branch .. //depot/projects/hammer/contrib/cpio/lib/quote.c#1 branch .. //depot/projects/hammer/contrib/cpio/lib/quote.h#1 branch .. //depot/projects/hammer/contrib/cpio/lib/quotearg.c#1 branch .. //depot/projects/hammer/contrib/cpio/lib/quotearg.h#1 branch .. //depot/projects/hammer/contrib/cpio/lib/rmt-command.h#1 branch .. //depot/projects/hammer/contrib/cpio/lib/rmt.h#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/rtapelib.c#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/safe-read.c#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/safe-read.h#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/safe-write.c#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/safe-write.h#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/savedir.c#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/savedir.h#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/strcase.h#2 delete .. //depot/projects/hammer/contrib/cpio/lib/strchrnul.c#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/strchrnul.h#2 delete .. //depot/projects/hammer/contrib/cpio/lib/stripslash.c#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/strndup.c#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/strndup.h#2 delete .. //depot/projects/hammer/contrib/cpio/lib/strnlen.c#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/system-ioctl.h#1 branch .. //depot/projects/hammer/contrib/cpio/lib/system.h#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/umaxtostr.c#1 branch .. //depot/projects/hammer/contrib/cpio/lib/unlocked-io.h#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/utimens.c#1 branch .. //depot/projects/hammer/contrib/cpio/lib/utimens.h#1 branch .. //depot/projects/hammer/contrib/cpio/lib/xalloc-die.c#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/xalloc.h#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/xmalloc.c#2 integrate .. //depot/projects/hammer/contrib/cpio/lib/xstrndup.c#1 branch .. //depot/projects/hammer/contrib/cpio/lib/xstrndup.h#1 branch .. //depot/projects/hammer/contrib/cpio/src/copyin.c#3 integrate .. //depot/projects/hammer/contrib/cpio/src/copyout.c#3 integrate .. //depot/projects/hammer/contrib/cpio/src/copypass.c#3 integrate .. //depot/projects/hammer/contrib/cpio/src/cpio.h#2 integrate .. //depot/projects/hammer/contrib/cpio/src/cpiohdr.h#2 integrate .. //depot/projects/hammer/contrib/cpio/src/defer.c#2 integrate .. //depot/projects/hammer/contrib/cpio/src/defer.h#2 integrate .. //depot/projects/hammer/contrib/cpio/src/dstring.c#2 integrate .. //depot/projects/hammer/contrib/cpio/src/dstring.h#2 integrate .. //depot/projects/hammer/contrib/cpio/src/extern.h#3 integrate .. //depot/projects/hammer/contrib/cpio/src/filemode.c#2 integrate .. //depot/projects/hammer/contrib/cpio/src/filetypes.h#2 integrate .. //depot/projects/hammer/contrib/cpio/src/global.c#3 integrate .. //depot/projects/hammer/contrib/cpio/src/idcache.c#2 integrate .. //depot/projects/hammer/contrib/cpio/src/main.c#3 integrate .. //depot/projects/hammer/contrib/cpio/src/makepath.c#2 integrate .. //depot/projects/hammer/contrib/cpio/src/tar.c#2 integrate .. //depot/projects/hammer/contrib/cpio/src/tar.h#2 integrate .. //depot/projects/hammer/contrib/cpio/src/tarhdr.h#2 integrate .. //depot/projects/hammer/contrib/cpio/src/userspec.c#2 integrate .. //depot/projects/hammer/contrib/cpio/src/util.c#2 integrate .. //depot/projects/hammer/contrib/cvs/doc/HACKING.DOCS#2 integrate .. //depot/projects/hammer/contrib/ipfilter/ip_fil.c#5 integrate .. //depot/projects/hammer/contrib/ipfilter/ipsend/iptests.c#8 integrate .. //depot/projects/hammer/contrib/ipfilter/ipsend/sock.c#8 integrate .. //depot/projects/hammer/contrib/ipfilter/lib/printnat.c#5 integrate .. //depot/projects/hammer/contrib/ipfilter/test/regress/n12#2 integrate .. //depot/projects/hammer/contrib/ipfilter/test/regress/n2#2 integrate .. //depot/projects/hammer/contrib/ipfilter/test/regress/n5#2 integrate .. //depot/projects/hammer/contrib/ipfilter/test/regress/ni1.nat#3 integrate .. //depot/projects/hammer/contrib/ipfilter/test/regress/ni2.nat#2 integrate .. //depot/projects/hammer/contrib/ipfilter/test/regress/ni4.nat#2 integrate .. //depot/projects/hammer/contrib/ipfilter/tools/ipnat_y.y#6 integrate .. //depot/projects/hammer/contrib/tcsh/tc.func.c#5 integrate .. //depot/projects/hammer/contrib/telnet/telnetd/state.c#2 integrate .. //depot/projects/hammer/contrib/telnet/telnetd/telnetd.c#6 integrate .. //depot/projects/hammer/crypto/openssh/ChangeLog#12 integrate .. //depot/projects/hammer/crypto/openssh/FREEBSD-Xlist#5 delete .. //depot/projects/hammer/crypto/openssh/FREEBSD-tricks#6 integrate .. //depot/projects/hammer/crypto/openssh/FREEBSD-upgrade#13 integrate .. //depot/projects/hammer/crypto/openssh/FREEBSD-vendor#2 integrate .. //depot/projects/hammer/crypto/openssh/INSTALL#8 integrate .. //depot/projects/hammer/crypto/openssh/LICENCE#7 integrate .. //depot/projects/hammer/crypto/openssh/Makefile.in#11 delete .. //depot/projects/hammer/crypto/openssh/Makefile.inc#2 delete .. //depot/projects/hammer/crypto/openssh/PROTOCOL#1 branch .. //depot/projects/hammer/crypto/openssh/PROTOCOL.agent#1 branch .. //depot/projects/hammer/crypto/openssh/README#10 integrate .. //depot/projects/hammer/crypto/openssh/README.platform#6 integrate .. //depot/projects/hammer/crypto/openssh/RFC.nroff#3 delete .. //depot/projects/hammer/crypto/openssh/addrmatch.c#1 branch .. //depot/projects/hammer/crypto/openssh/atomicio.c#5 integrate .. //depot/projects/hammer/crypto/openssh/audit-bsm.c#3 integrate .. //depot/projects/hammer/crypto/openssh/auth-bsdauth.c#5 integrate .. //depot/projects/hammer/crypto/openssh/auth-chall.c#9 integrate .. //depot/projects/hammer/crypto/openssh/auth-krb5.c#12 integrate .. //depot/projects/hammer/crypto/openssh/auth-options.c#7 integrate .. //depot/projects/hammer/crypto/openssh/auth-options.h#5 integrate .. //depot/projects/hammer/crypto/openssh/auth-pam.c#13 integrate .. //depot/projects/hammer/crypto/openssh/auth-pam.h#10 integrate .. //depot/projects/hammer/crypto/openssh/auth-passwd.c#11 integrate .. //depot/projects/hammer/crypto/openssh/auth-rhosts.c#6 integrate .. //depot/projects/hammer/crypto/openssh/auth-rsa.c#8 integrate .. //depot/projects/hammer/crypto/openssh/auth-shadow.c#5 integrate .. //depot/projects/hammer/crypto/openssh/auth-sia.c#8 integrate .. //depot/projects/hammer/crypto/openssh/auth-skey.c#6 integrate .. //depot/projects/hammer/crypto/openssh/auth.c#10 integrate .. //depot/projects/hammer/crypto/openssh/auth.h#11 integrate .. //depot/projects/hammer/crypto/openssh/auth1.c#12 integrate .. //depot/projects/hammer/crypto/openssh/auth2-chall.c#8 integrate .. //depot/projects/hammer/crypto/openssh/auth2-gss.c#7 integrate .. //depot/projects/hammer/crypto/openssh/auth2-hostbased.c#5 integrate .. //depot/projects/hammer/crypto/openssh/auth2-kbdint.c#6 integrate .. //depot/projects/hammer/crypto/openssh/auth2-none.c#7 integrate .. //depot/projects/hammer/crypto/openssh/auth2-pubkey.c#7 integrate .. //depot/projects/hammer/crypto/openssh/auth2.c#13 integrate .. //depot/projects/hammer/crypto/openssh/bufaux.c#9 integrate .. //depot/projects/hammer/crypto/openssh/bufbn.c#2 integrate .. //depot/projects/hammer/crypto/openssh/buffer.h#4 integrate .. //depot/projects/hammer/crypto/openssh/buildpkg.sh.in#5 delete .. //depot/projects/hammer/crypto/openssh/canohost.c#13 integrate .. //depot/projects/hammer/crypto/openssh/channels.c#13 integrate .. //depot/projects/hammer/crypto/openssh/channels.h#10 integrate .. //depot/projects/hammer/crypto/openssh/cipher-3des1.c#4 integrate .. //depot/projects/hammer/crypto/openssh/cipher-bf1.c#3 integrate .. //depot/projects/hammer/crypto/openssh/cipher-ctr.c#7 integrate .. //depot/projects/hammer/crypto/openssh/clientloop.c#11 integrate .. //depot/projects/hammer/crypto/openssh/clientloop.h#7 integrate .. //depot/projects/hammer/crypto/openssh/compat.c#9 integrate .. //depot/projects/hammer/crypto/openssh/compat.h#10 integrate .. //depot/projects/hammer/crypto/openssh/config.h#13 integrate .. //depot/projects/hammer/crypto/openssh/config.h.in#1 branch .. //depot/projects/hammer/crypto/openssh/config.sub#7 delete .. //depot/projects/hammer/crypto/openssh/configure.ac#12 delete .. //depot/projects/hammer/crypto/openssh/defines.h#12 integrate .. //depot/projects/hammer/crypto/openssh/dh.c#9 integrate .. //depot/projects/hammer/crypto/openssh/dh.h#4 integrate .. //depot/projects/hammer/crypto/openssh/dns.c#7 integrate .. //depot/projects/hammer/crypto/openssh/entropy.c#7 integrate .. //depot/projects/hammer/crypto/openssh/groupaccess.c#5 integrate .. //depot/projects/hammer/crypto/openssh/groupaccess.h#3 integrate .. //depot/projects/hammer/crypto/openssh/gss-genr.c#6 integrate .. //depot/projects/hammer/crypto/openssh/gss-serv.c#6 integrate .. //depot/projects/hammer/crypto/openssh/includes.h#11 integrate .. //depot/projects/hammer/crypto/openssh/install-sh#3 delete .. //depot/projects/hammer/crypto/openssh/kex.c#8 integrate .. //depot/projects/hammer/crypto/openssh/kex.h#8 integrate .. //depot/projects/hammer/crypto/openssh/key.c#11 integrate .. //depot/projects/hammer/crypto/openssh/key.h#6 integrate .. //depot/projects/hammer/crypto/openssh/log.c#9 integrate .. //depot/projects/hammer/crypto/openssh/log.h#10 integrate .. //depot/projects/hammer/crypto/openssh/loginrec.c#13 integrate .. //depot/projects/hammer/crypto/openssh/mac.c#5 integrate .. //depot/projects/hammer/crypto/openssh/mac.h#3 integrate .. //depot/projects/hammer/crypto/openssh/match.c#4 integrate .. //depot/projects/hammer/crypto/openssh/match.h#3 integrate .. //depot/projects/hammer/crypto/openssh/mdoc2man.awk#5 delete .. //depot/projects/hammer/crypto/openssh/misc.c#11 integrate .. //depot/projects/hammer/crypto/openssh/misc.h#8 integrate .. //depot/projects/hammer/crypto/openssh/moduli#4 integrate .. //depot/projects/hammer/crypto/openssh/moduli.5#1 branch .. //depot/projects/hammer/crypto/openssh/moduli.c#7 integrate .. //depot/projects/hammer/crypto/openssh/monitor.c#14 integrate .. //depot/projects/hammer/crypto/openssh/monitor.h#8 integrate .. //depot/projects/hammer/crypto/openssh/monitor_fdpass.c#6 integrate .. //depot/projects/hammer/crypto/openssh/monitor_fdpass.h#3 integrate .. //depot/projects/hammer/crypto/openssh/monitor_mm.h#4 integrate .. //depot/projects/hammer/crypto/openssh/monitor_wrap.c#12 integrate .. //depot/projects/hammer/crypto/openssh/monitor_wrap.h#10 integrate .. //depot/projects/hammer/crypto/openssh/mux.c#1 branch .. //depot/projects/hammer/crypto/openssh/myproposal.h#6 integrate .. //depot/projects/hammer/crypto/openssh/nchan.c#5 integrate .. //depot/projects/hammer/crypto/openssh/nchan.ms#3 delete .. //depot/projects/hammer/crypto/openssh/nchan2.ms#3 delete .. //depot/projects/hammer/crypto/openssh/openbsd-compat/Makefile.in#10 delete .. //depot/projects/hammer/crypto/openssh/openbsd-compat/base64.c#6 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/bindresvport.c#6 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/bsd-arc4random.c#8 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/bsd-asprintf.c#3 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/bsd-cray.c#7 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/bsd-cygwin_util.c#8 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/bsd-getpeereid.c#5 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/bsd-misc.c#11 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/bsd-poll.c#1 branch .. //depot/projects/hammer/crypto/openssh/openbsd-compat/bsd-poll.h#1 branch .. //depot/projects/hammer/crypto/openssh/openbsd-compat/bsd-snprintf.c#7 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/bsd-statvfs.c#1 branch .. //depot/projects/hammer/crypto/openssh/openbsd-compat/bsd-statvfs.h#1 branch .. //depot/projects/hammer/crypto/openssh/openbsd-compat/fake-rfc2553.c#4 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/fake-rfc2553.h#9 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/fmt_scaled.c#1 branch .. //depot/projects/hammer/crypto/openssh/openbsd-compat/getrrsetbyname.c#8 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/getrrsetbyname.h#3 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/glob.c#7 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/glob.h#7 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/openbsd-compat.h#10 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/openssl-compat.c#3 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/openssl-compat.h#4 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/port-aix.c#9 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/port-aix.h#10 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/port-linux.c#2 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/port-linux.h#2 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/port-tun.c#3 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/port-uw.c#4 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/port-uw.h#2 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/regress/Makefile.in#2 delete .. //depot/projects/hammer/crypto/openssh/openbsd-compat/regress/closefromtest.c#2 delete .. //depot/projects/hammer/crypto/openssh/openbsd-compat/regress/snprintftest.c#2 delete .. //depot/projects/hammer/crypto/openssh/openbsd-compat/regress/strduptest.c#2 delete .. //depot/projects/hammer/crypto/openssh/openbsd-compat/regress/strtonumtest.c#2 delete .. //depot/projects/hammer/crypto/openssh/openbsd-compat/rresvport.c#7 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/setenv.c#8 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/setproctitle.c#6 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/sigact.c#5 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/sys-queue.h#6 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/sys-tree.h#5 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/xcrypt.c#6 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/xmmap.c#6 integrate .. //depot/projects/hammer/crypto/openssh/openssh.xml.in#2 delete .. //depot/projects/hammer/crypto/openssh/opensshd.init.in#3 delete .. //depot/projects/hammer/crypto/openssh/packet.c#12 integrate .. //depot/projects/hammer/crypto/openssh/packet.h#7 integrate .. //depot/projects/hammer/crypto/openssh/readconf.c#12 integrate .. //depot/projects/hammer/crypto/openssh/readconf.h#11 integrate .. //depot/projects/hammer/crypto/openssh/regress/Makefile#9 delete .. //depot/projects/hammer/crypto/openssh/regress/README.regress#6 delete .. //depot/projects/hammer/crypto/openssh/regress/agent-getpeereid.sh#5 delete .. //depot/projects/hammer/crypto/openssh/regress/agent-ptrace.sh#5 delete .. //depot/projects/hammer/crypto/openssh/regress/agent-timeout.sh#3 delete .. //depot/projects/hammer/crypto/openssh/regress/agent.sh#3 delete .. //depot/projects/hammer/crypto/openssh/regress/banner.sh#2 delete .. //depot/projects/hammer/crypto/openssh/regress/broken-pipe.sh#2 delete .. //depot/projects/hammer/crypto/openssh/regress/brokenkeys.sh#2 delete .. //depot/projects/hammer/crypto/openssh/regress/bsd.regress.mk#2 delete .. //depot/projects/hammer/crypto/openssh/regress/cfgmatch.sh#2 delete .. //depot/projects/hammer/crypto/openssh/regress/cipher-speed.sh#2 delete .. //depot/projects/hammer/crypto/openssh/regress/connect-privsep.sh#2 delete .. //depot/projects/hammer/crypto/openssh/regress/connect.sh#2 delete .. //depot/projects/hammer/crypto/openssh/regress/copy.1#2 delete .. //depot/projects/hammer/crypto/openssh/regress/copy.2#2 delete .. //depot/projects/hammer/crypto/openssh/regress/dsa_ssh2.prv#2 delete .. //depot/projects/hammer/crypto/openssh/regress/dsa_ssh2.pub#2 delete .. //depot/projects/hammer/crypto/openssh/regress/dynamic-forward.sh#5 delete .. //depot/projects/hammer/crypto/openssh/regress/envpass.sh#3 delete .. //depot/projects/hammer/crypto/openssh/regress/exit-status.sh#2 delete .. //depot/projects/hammer/crypto/openssh/regress/forcecommand.sh#2 delete .. //depot/projects/hammer/crypto/openssh/regress/forwarding.sh#5 delete .. //depot/projects/hammer/crypto/openssh/regress/keygen-change.sh#2 delete .. //depot/projects/hammer/crypto/openssh/regress/keyscan.sh#2 delete .. //depot/projects/hammer/crypto/openssh/regress/login-timeout.sh#4 delete .. //depot/projects/hammer/crypto/openssh/regress/multiplex.sh#4 delete .. //depot/projects/hammer/crypto/openssh/regress/proto-mismatch.sh#2 delete .. //depot/projects/hammer/crypto/openssh/regress/proto-version.sh#3 delete .. //depot/projects/hammer/crypto/openssh/regress/proxy-connect.sh#3 delete .. //depot/projects/hammer/crypto/openssh/regress/reconfigure.sh#3 delete .. //depot/projects/hammer/crypto/openssh/regress/reexec.sh#4 delete .. //depot/projects/hammer/crypto/openssh/regress/rekey.sh#3 delete .. //depot/projects/hammer/crypto/openssh/regress/rsa_openssh.prv#2 delete .. //depot/projects/hammer/crypto/openssh/regress/rsa_openssh.pub#2 delete .. //depot/projects/hammer/crypto/openssh/regress/rsa_ssh2.prv#2 delete .. //depot/projects/hammer/crypto/openssh/regress/runtests.sh#2 delete .. //depot/projects/hammer/crypto/openssh/regress/scp-ssh-wrapper.sh#3 delete .. //depot/projects/hammer/crypto/openssh/regress/scp.sh#4 delete .. //depot/projects/hammer/crypto/openssh/regress/sftp-badcmds.sh#3 delete .. //depot/projects/hammer/crypto/openssh/regress/sftp-batch.sh#4 delete .. //depot/projects/hammer/crypto/openssh/regress/sftp-cmds.sh#5 delete .. //depot/projects/hammer/crypto/openssh/regress/sftp-glob.sh#2 delete .. //depot/projects/hammer/crypto/openssh/regress/sftp.sh#3 delete .. //depot/projects/hammer/crypto/openssh/regress/ssh-com-client.sh#5 delete .. //depot/projects/hammer/crypto/openssh/regress/ssh-com-keygen.sh#5 delete .. //depot/projects/hammer/crypto/openssh/regress/ssh-com-sftp.sh#5 delete .. //depot/projects/hammer/crypto/openssh/regress/ssh-com.sh#6 delete .. //depot/projects/hammer/crypto/openssh/regress/sshd-log-wrapper.sh#2 delete .. //depot/projects/hammer/crypto/openssh/regress/stderr-after-eof.sh#3 delete .. //depot/projects/hammer/crypto/openssh/regress/stderr-data.sh#3 delete .. //depot/projects/hammer/crypto/openssh/regress/t4.ok#2 delete .. //depot/projects/hammer/crypto/openssh/regress/t5.ok#2 delete .. //depot/projects/hammer/crypto/openssh/regress/test-exec.sh#9 delete .. //depot/projects/hammer/crypto/openssh/regress/transfer.sh#3 delete .. //depot/projects/hammer/crypto/openssh/regress/try-ciphers.sh#6 delete .. //depot/projects/hammer/crypto/openssh/regress/yes-head.sh#4 delete .. //depot/projects/hammer/crypto/openssh/scard-opensc.c#6 integrate .. //depot/projects/hammer/crypto/openssh/scard/Makefile.in#3 delete .. //depot/projects/hammer/crypto/openssh/scard/Ssh.bin#2 delete .. //depot/projects/hammer/crypto/openssh/scard/Ssh.bin.uu#2 delete .. //depot/projects/hammer/crypto/openssh/scard/Ssh.java#2 delete .. //depot/projects/hammer/crypto/openssh/scp.1#10 integrate .. //depot/projects/hammer/crypto/openssh/scp.c#12 integrate .. //depot/projects/hammer/crypto/openssh/servconf.c#12 integrate .. //depot/projects/hammer/crypto/openssh/servconf.h#10 integrate .. //depot/projects/hammer/crypto/openssh/serverloop.c#11 integrate .. //depot/projects/hammer/crypto/openssh/session.c#15 integrate .. //depot/projects/hammer/crypto/openssh/session.h#9 integrate .. //depot/projects/hammer/crypto/openssh/sftp-client.c#12 integrate .. //depot/projects/hammer/crypto/openssh/sftp-client.h#6 integrate .. //depot/projects/hammer/crypto/openssh/sftp-server-main.c#1 branch .. //depot/projects/hammer/crypto/openssh/sftp-server.8#5 integrate .. //depot/projects/hammer/crypto/openssh/sftp-server.c#10 integrate .. //depot/projects/hammer/crypto/openssh/sftp.1#10 integrate .. //depot/projects/hammer/crypto/openssh/sftp.c#12 integrate .. //depot/projects/hammer/crypto/openssh/sftp.h#3 integrate .. //depot/projects/hammer/crypto/openssh/ssh-add.1#7 integrate .. //depot/projects/hammer/crypto/openssh/ssh-add.c#12 integrate .. //depot/projects/hammer/crypto/openssh/ssh-agent.1#8 integrate .. //depot/projects/hammer/crypto/openssh/ssh-agent.c#14 integrate .. //depot/projects/hammer/crypto/openssh/ssh-gss.h#5 integrate .. //depot/projects/hammer/crypto/openssh/ssh-keygen.1#9 integrate .. //depot/projects/hammer/crypto/openssh/ssh-keygen.c#11 integrate .. //depot/projects/hammer/crypto/openssh/ssh-keyscan.1#8 integrate .. //depot/projects/hammer/crypto/openssh/ssh-keyscan.c#13 integrate .. //depot/projects/hammer/crypto/openssh/ssh-keysign.8#6 integrate .. //depot/projects/hammer/crypto/openssh/ssh-rand-helper.8#3 integrate .. //depot/projects/hammer/crypto/openssh/ssh-rand-helper.c#10 integrate .. //depot/projects/hammer/crypto/openssh/ssh.1#12 integrate .. //depot/projects/hammer/crypto/openssh/ssh.c#12 integrate .. //depot/projects/hammer/crypto/openssh/ssh_config#14 integrate .. //depot/projects/hammer/crypto/openssh/ssh_config.5#15 integrate .. //depot/projects/hammer/crypto/openssh/ssh_namespace.h#3 integrate .. //depot/projects/hammer/crypto/openssh/ssh_prng_cmds.in#4 delete .. //depot/projects/hammer/crypto/openssh/sshconnect.c#12 integrate .. //depot/projects/hammer/crypto/openssh/sshconnect.h#4 integrate .. //depot/projects/hammer/crypto/openssh/sshconnect2.c#12 integrate .. //depot/projects/hammer/crypto/openssh/sshd.8#12 integrate .. //depot/projects/hammer/crypto/openssh/sshd.c#15 integrate .. //depot/projects/hammer/crypto/openssh/sshd_config#15 integrate .. //depot/projects/hammer/crypto/openssh/sshd_config.5#17 integrate .. //depot/projects/hammer/crypto/openssh/sshlogin.c#9 integrate .. //depot/projects/hammer/crypto/openssh/sshpty.c#10 integrate .. //depot/projects/hammer/crypto/openssh/sshpty.h#4 integrate .. //depot/projects/hammer/crypto/openssh/sshtty.c#6 integrate .. //depot/projects/hammer/crypto/openssh/survey.sh.in#2 delete .. //depot/projects/hammer/crypto/openssh/ttymodes.c#5 integrate .. //depot/projects/hammer/crypto/openssh/umac.c#1 branch .. //depot/projects/hammer/crypto/openssh/umac.h#1 branch .. //depot/projects/hammer/crypto/openssh/version.c#4 integrate .. //depot/projects/hammer/crypto/openssh/version.h#15 integrate .. //depot/projects/hammer/etc/defaults/rc.conf#88 integrate .. //depot/projects/hammer/etc/etc.amd64/ttys#7 integrate .. //depot/projects/hammer/etc/etc.i386/ttys#5 integrate .. //depot/projects/hammer/etc/freebsd-update.conf#5 integrate .. //depot/projects/hammer/etc/mtree/BSD.usr.dist#42 integrate .. //depot/projects/hammer/etc/namedb/named.conf#14 integrate .. //depot/projects/hammer/etc/ppp/ppp.conf#3 integrate .. //depot/projects/hammer/etc/rc.d/amd#16 integrate .. //depot/projects/hammer/etc/rc.d/apmd#11 integrate .. //depot/projects/hammer/etc/rc.d/bluetooth#3 integrate .. //depot/projects/hammer/etc/rc.d/bsnmpd#2 integrate .. //depot/projects/hammer/etc/rc.d/bthidd#2 integrate .. //depot/projects/hammer/etc/rc.d/devd#8 integrate .. //depot/projects/hammer/etc/rc.d/ftp-proxy#3 integrate .. //depot/projects/hammer/etc/rc.d/ftpd#2 integrate .. //depot/projects/hammer/etc/rc.d/hcsecd#4 integrate .. //depot/projects/hammer/etc/rc.d/idmapd#2 integrate .. //depot/projects/hammer/etc/rc.d/keyserv#5 integrate .. //depot/projects/hammer/etc/rc.d/lockd#7 integrate .. //depot/projects/hammer/etc/rc.d/lpd#8 integrate .. //depot/projects/hammer/etc/rc.d/mountd#12 integrate .. //depot/projects/hammer/etc/rc.d/moused#13 integrate .. //depot/projects/hammer/etc/rc.d/named#18 integrate .. //depot/projects/hammer/etc/rc.d/nfsd#9 integrate .. //depot/projects/hammer/etc/rc.d/nscd#5 integrate .. //depot/projects/hammer/etc/rc.d/ntpd#12 integrate .. //depot/projects/hammer/etc/rc.d/pf#15 integrate .. //depot/projects/hammer/etc/rc.d/powerd#4 integrate .. //depot/projects/hammer/etc/rc.d/rpcbind#9 integrate .. //depot/projects/hammer/etc/rc.d/rtadvd#9 integrate .. //depot/projects/hammer/etc/rc.d/rwho#5 integrate .. //depot/projects/hammer/etc/rc.d/sdpd#4 integrate .. //depot/projects/hammer/etc/rc.d/sendmail#15 integrate .. //depot/projects/hammer/etc/rc.d/serial#8 integrate .. //depot/projects/hammer/etc/rc.d/sshd#11 integrate .. //depot/projects/hammer/etc/rc.d/statd#6 integrate .. //depot/projects/hammer/etc/rc.d/sysctl#10 integrate .. //depot/projects/hammer/etc/rc.d/timed#6 integrate .. //depot/projects/hammer/etc/rc.d/ugidfw#7 integrate .. //depot/projects/hammer/etc/rc.d/watchdogd#6 integrate .. //depot/projects/hammer/etc/rc.d/ypbind#10 integrate .. //depot/projects/hammer/etc/rc.d/yppasswdd#9 integrate .. //depot/projects/hammer/etc/rc.d/ypserv#10 integrate .. //depot/projects/hammer/etc/rc.d/ypset#8 integrate .. //depot/projects/hammer/etc/rc.d/ypupdated#7 integrate .. //depot/projects/hammer/etc/rc.d/ypxfrd#8 integrate .. //depot/projects/hammer/etc/rc.firewall#10 integrate .. //depot/projects/hammer/etc/rc.resume#4 integrate .. //depot/projects/hammer/etc/rc.suspend#5 integrate .. //depot/projects/hammer/etc/remote#7 integrate .. //depot/projects/hammer/games/fortune/datfiles/fortunes#84 integrate .. //depot/projects/hammer/gnu/usr.bin/cpio/Makefile#7 integrate .. //depot/projects/hammer/gnu/usr.bin/cpio/config.h#2 integrate .. //depot/projects/hammer/gnu/usr.bin/gdb/arch/arm/Makefile#3 integrate .. //depot/projects/hammer/gnu/usr.bin/groff/tmac/mdoc.local#31 integrate .. //depot/projects/hammer/include/Makefile#75 integrate .. //depot/projects/hammer/include/gssapi/gssapi.h#3 integrate .. //depot/projects/hammer/include/rpc/Makefile#3 integrate .. //depot/projects/hammer/include/rpc/auth.h#4 integrate .. //depot/projects/hammer/include/rpc/rpcsec_gss.h#1 branch .. //depot/projects/hammer/include/rpc/svc.h#4 integrate .. //depot/projects/hammer/include/sgtty.h#3 delete .. //depot/projects/hammer/include/stdlib.h#17 integrate .. //depot/projects/hammer/kerberos5/lib/libgssapi_krb5/Makefile#2 integrate .. //depot/projects/hammer/kerberos5/lib/libgssapi_krb5/pname_to_uid.c#1 branch .. //depot/projects/hammer/lib/Makefile#72 integrate .. //depot/projects/hammer/lib/libarchive/archive_private.h#25 integrate .. //depot/projects/hammer/lib/libarchive/archive_read_support_format_tar.c#43 integrate .. //depot/projects/hammer/lib/libc/gen/Makefile.inc#38 integrate .. //depot/projects/hammer/lib/libc/gen/Symbol.map#11 integrate .. //depot/projects/hammer/lib/libc/gen/arc4random.3#5 integrate .. //depot/projects/hammer/lib/libc/gen/arc4random.c#7 integrate .. //depot/projects/hammer/lib/libc/gen/fmtcheck.3#6 integrate .. //depot/projects/hammer/lib/libc/gen/fmtcheck.c#5 integrate .. //depot/projects/hammer/lib/libc/gen/getbsize.c#5 integrate .. //depot/projects/hammer/lib/libc/gen/popen.c#4 integrate .. //depot/projects/hammer/lib/libc/gen/posix_spawn.3#1 branch .. //depot/projects/hammer/lib/libc/gen/posix_spawn_file_actions_addopen.3#1 branch .. //depot/projects/hammer/lib/libc/gen/posix_spawn_file_actions_init.3#1 branch .. //depot/projects/hammer/lib/libc/gen/posix_spawnattr_getflags.3#1 branch .. //depot/projects/hammer/lib/libc/gen/posix_spawnattr_getpgroup.3#1 branch .. //depot/projects/hammer/lib/libc/gen/posix_spawnattr_getschedparam.3#1 branch .. //depot/projects/hammer/lib/libc/gen/posix_spawnattr_getschedpolicy.3#1 branch .. //depot/projects/hammer/lib/libc/gen/posix_spawnattr_getsigdefault.3#1 branch .. //depot/projects/hammer/lib/libc/gen/posix_spawnattr_getsigmask.3#1 branch .. //depot/projects/hammer/lib/libc/gen/posix_spawnattr_init.3#1 branch .. //depot/projects/hammer/lib/libc/gen/signal.3#12 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_support.c#4 integrate .. //depot/projects/hammer/lib/libc/rpc/Makefile.inc#12 integrate .. //depot/projects/hammer/lib/libc/rpc/Symbol.map#4 integrate .. //depot/projects/hammer/lib/libc/rpc/clnt_dg.c#7 integrate .. //depot/projects/hammer/lib/libc/rpc/clnt_perror.c#3 integrate .. //depot/projects/hammer/lib/libc/rpc/clnt_vc.c#7 integrate .. //depot/projects/hammer/lib/libc/rpc/rpcsec_gss_stub.c#1 branch .. //depot/projects/hammer/lib/libc/rpc/svc.c#5 integrate .. //depot/projects/hammer/lib/libc/rpc/svc_auth.c#4 integrate .. //depot/projects/hammer/lib/libc/rpc/svc_dg.c#5 integrate .. //depot/projects/hammer/lib/libc/rpc/svc_raw.c#4 integrate .. //depot/projects/hammer/lib/libc/rpc/svc_vc.c#11 integrate .. //depot/projects/hammer/lib/libc/stdio/mktemp.c#4 integrate .. //depot/projects/hammer/lib/libc/stdio/vfwprintf.c#23 integrate .. //depot/projects/hammer/lib/libc/stdlib/getenv.c#9 integrate .. //depot/projects/hammer/lib/libc/stdlib/malloc.c#46 integrate .. //depot/projects/hammer/lib/libc/sys/Symbol.map#13 integrate .. //depot/projects/hammer/lib/libc/sys/jail.2#8 integrate .. //depot/projects/hammer/lib/libc/sys/ktrace.2#8 integrate .. //depot/projects/hammer/lib/libc/sys/modstat.2#5 integrate .. //depot/projects/hammer/lib/libc/sys/setfib.2#2 integrate .. //depot/projects/hammer/lib/libc/sys/socket.2#8 integrate .. //depot/projects/hammer/lib/libc/xdr/xdr_rec.c#6 integrate .. //depot/projects/hammer/lib/libgssapi/Makefile#4 integrate .. //depot/projects/hammer/lib/libgssapi/Symbol.map#2 integrate .. //depot/projects/hammer/lib/libgssapi/gss_mech_switch.c#4 integrate .. //depot/projects/hammer/lib/libgssapi/gss_pname_to_uid.c#1 branch .. //depot/projects/hammer/lib/libgssapi/gss_utils.c#5 integrate .. //depot/projects/hammer/lib/libgssapi/mech_switch.h#3 integrate .. //depot/projects/hammer/lib/libgssapi/utils.h#3 integrate .. //depot/projects/hammer/lib/libkvm/kvm_mips.c#1 branch .. //depot/projects/hammer/lib/librpcsec_gss/Makefile#1 branch .. //depot/projects/hammer/lib/librpcsec_gss/Symbol.map#1 branch .. //depot/projects/hammer/lib/librpcsec_gss/rpc_gss_get_error.3#1 branch .. //depot/projects/hammer/lib/librpcsec_gss/rpc_gss_get_mech_info.3#1 branch .. //depot/projects/hammer/lib/librpcsec_gss/rpc_gss_get_mechanisms.3#1 branch .. //depot/projects/hammer/lib/librpcsec_gss/rpc_gss_get_principal_name.3#1 branch .. //depot/projects/hammer/lib/librpcsec_gss/rpc_gss_get_versions.3#1 branch .. //depot/projects/hammer/lib/librpcsec_gss/rpc_gss_getcred.3#1 branch .. //depot/projects/hammer/lib/librpcsec_gss/rpc_gss_is_installed.3#1 branch .. //depot/projects/hammer/lib/librpcsec_gss/rpc_gss_max_data_length.3#1 branch .. //depot/projects/hammer/lib/librpcsec_gss/rpc_gss_mech_to_oid.3#1 branch .. //depot/projects/hammer/lib/librpcsec_gss/rpc_gss_oid_to_mech.3#1 branch .. //depot/projects/hammer/lib/librpcsec_gss/rpc_gss_qop_to_num.3#1 branch .. //depot/projects/hammer/lib/librpcsec_gss/rpc_gss_seccreate.3#1 branch .. //depot/projects/hammer/lib/librpcsec_gss/rpc_gss_set_callback.3#1 branch .. //depot/projects/hammer/lib/librpcsec_gss/rpc_gss_set_defaults.3#1 branch .. //depot/projects/hammer/lib/librpcsec_gss/rpc_gss_set_svc_name.3#1 branch .. //depot/projects/hammer/lib/librpcsec_gss/rpc_gss_svc_max_data_length.3#1 branch .. //depot/projects/hammer/lib/librpcsec_gss/rpcsec_gss.3#1 branch .. //depot/projects/hammer/lib/librpcsec_gss/rpcsec_gss.c#1 branch .. //depot/projects/hammer/lib/librpcsec_gss/rpcsec_gss_conf.c#1 branch .. //depot/projects/hammer/lib/librpcsec_gss/rpcsec_gss_int.h#1 branch .. //depot/projects/hammer/lib/librpcsec_gss/rpcsec_gss_misc.c#1 branch .. //depot/projects/hammer/lib/librpcsec_gss/rpcsec_gss_prot.c#1 branch .. //depot/projects/hammer/lib/librpcsec_gss/svc_rpcsec_gss.c#1 branch .. //depot/projects/hammer/lib/libthr/thread/thr_condattr.c#4 integrate .. //depot/projects/hammer/lib/libthread_db/Makefile#13 integrate .. //depot/projects/hammer/lib/libthread_db/arch/amd64/libpthread_md.c#4 integrate .. //depot/projects/hammer/lib/libthread_db/arch/arm/libpthread_md.c#2 integrate .. //depot/projects/hammer/lib/libthread_db/arch/i386/libpthread_md.c#3 integrate .. //depot/projects/hammer/lib/libthread_db/arch/ia64/libpthread_md.c#2 integrate .. //depot/projects/hammer/lib/libthread_db/arch/powerpc/libpthread_md.c#3 integrate .. //depot/projects/hammer/lib/libthread_db/arch/sparc64/libpthread_md.c#2 integrate .. //depot/projects/hammer/lib/libthread_db/libpthread_db.c#11 integrate .. //depot/projects/hammer/lib/libthread_db/libpthread_db.h#5 integrate .. //depot/projects/hammer/lib/libthread_db/libthr_db.c#10 integrate .. //depot/projects/hammer/lib/libthread_db/thread_db.c#6 integrate .. //depot/projects/hammer/lib/libthread_db/thread_db.h#5 integrate .. //depot/projects/hammer/lib/libthread_db/thread_db_int.h#4 integrate .. //depot/projects/hammer/lib/libutil/login.conf.5#10 integrate .. //depot/projects/hammer/lib/libutil/login_cap.h#4 integrate .. //depot/projects/hammer/lib/libutil/login_class.3#7 integrate .. //depot/projects/hammer/lib/libutil/login_class.c#7 integrate .. //depot/projects/hammer/lib/msun/Makefile#42 integrate .. //depot/projects/hammer/lib/msun/Symbol.map#12 integrate .. //depot/projects/hammer/lib/msun/i387/invtrig.c#1 branch .. //depot/projects/hammer/lib/msun/ld128/invtrig.c#1 branch .. //depot/projects/hammer/lib/msun/ld128/invtrig.h#1 branch .. //depot/projects/hammer/lib/msun/ld80/invtrig.c#1 branch .. //depot/projects/hammer/lib/msun/ld80/invtrig.h#1 branch .. //depot/projects/hammer/lib/msun/man/acos.3#4 integrate .. //depot/projects/hammer/lib/msun/man/asin.3#5 integrate .. //depot/projects/hammer/lib/msun/man/atan.3#3 integrate .. //depot/projects/hammer/lib/msun/man/atan2.3#7 integrate .. //depot/projects/hammer/lib/msun/src/e_acos.c#5 integrate .. //depot/projects/hammer/lib/msun/src/e_acosf.c#3 integrate .. //depot/projects/hammer/lib/msun/src/e_acosl.c#1 branch .. //depot/projects/hammer/lib/msun/src/e_asin.c#5 integrate .. //depot/projects/hammer/lib/msun/src/e_asinf.c#4 integrate .. //depot/projects/hammer/lib/msun/src/e_asinl.c#1 branch .. //depot/projects/hammer/lib/msun/src/e_atan2.c#5 integrate .. //depot/projects/hammer/lib/msun/src/e_atan2f.c#4 integrate .. //depot/projects/hammer/lib/msun/src/e_atan2l.c#1 branch .. //depot/projects/hammer/lib/msun/src/e_fmodl.c#2 integrate .. //depot/projects/hammer/lib/msun/src/math.h#38 integrate .. //depot/projects/hammer/lib/msun/src/s_atan.c#4 integrate .. //depot/projects/hammer/lib/msun/src/s_atanf.c#3 integrate .. //depot/projects/hammer/lib/msun/src/s_atanl.c#1 branch .. //depot/projects/hammer/lib/msun/src/s_cargl.c#1 branch .. //depot/projects/hammer/lib/msun/src/s_remquol.c#2 integrate .. //depot/projects/hammer/libexec/fingerd/fingerd.c#5 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/article.sgml#35 integrate .. //depot/projects/hammer/sbin/atacontrol/atacontrol.c#28 integrate .. //depot/projects/hammer/sbin/ddb/ddb.8#5 integrate .. //depot/projects/hammer/sbin/fdisk/fdisk.8#7 integrate .. //depot/projects/hammer/sbin/fdisk/fdisk.c#21 integrate .. //depot/projects/hammer/sbin/ifconfig/Makefile#13 integrate .. //depot/projects/hammer/sbin/ifconfig/ifconfig.8#51 integrate .. //depot/projects/hammer/sbin/ifconfig/ifconfig.c#39 integrate .. //depot/projects/hammer/sbin/ifconfig/ifgre.c#1 branch .. //depot/projects/hammer/sbin/ifconfig/ifieee80211.c#35 integrate .. //depot/projects/hammer/sbin/ipfw/ipfw.8#66 integrate .. //depot/projects/hammer/sbin/mksnap_ffs/mksnap_ffs.8#4 integrate .. //depot/projects/hammer/sbin/mount_nfs/mount_nfs.c#16 integrate .. //depot/projects/hammer/sbin/routed/defs.h#6 integrate .. //depot/projects/hammer/sbin/routed/if.c#8 integrate .. //depot/projects/hammer/sbin/routed/main.c#7 integrate .. //depot/projects/hammer/sbin/routed/output.c#6 integrate .. //depot/projects/hammer/sbin/routed/rdisc.c#5 integrate .. //depot/projects/hammer/sbin/routed/routed.8#7 integrate .. //depot/projects/hammer/secure/lib/libcrypto/opensslconf-mips.h#1 branch .. //depot/projects/hammer/secure/lib/libssh/Makefile#22 integrate .. //depot/projects/hammer/secure/libexec/sftp-server/Makefile#8 integrate .. //depot/projects/hammer/secure/usr.bin/ssh/Makefile#14 integrate .. //depot/projects/hammer/secure/usr.sbin/sshd/Makefile#19 integrate .. //depot/projects/hammer/share/colldef/Makefile#20 integrate .. //depot/projects/hammer/share/colldef/no_NO.ISO8859-1.src#1 branch .. //depot/projects/hammer/share/colldef/no_NO.ISO8859-15.src#1 branch .. //depot/projects/hammer/share/man/man4/Makefile#108 integrate .. //depot/projects/hammer/share/man/man4/ahc.4#8 integrate .. //depot/projects/hammer/share/man/man4/ddb.4#18 integrate .. //depot/projects/hammer/share/man/man4/et.4#1 branch .. //depot/projects/hammer/share/man/man4/if_bridge.4#16 integrate .. //depot/projects/hammer/share/man/man4/textdump.4#4 integrate .. //depot/projects/hammer/share/man/man4/wi.4#32 integrate .. //depot/projects/hammer/share/man/man4/zyd.4#3 integrate .. //depot/projects/hammer/share/man/man5/freebsd-update.conf.5#3 integrate .. //depot/projects/hammer/share/man/man8/rc.subr.8#14 integrate .. //depot/projects/hammer/share/man/man9/Makefile#84 integrate .. //depot/projects/hammer/share/man/man9/accept_filter.9#6 integrate .. //depot/projects/hammer/share/man/man9/accf_data.9#4 integrate .. //depot/projects/hammer/share/man/man9/accf_dns.9#1 branch .. //depot/projects/hammer/share/man/man9/firmware.9#6 integrate .. //depot/projects/hammer/share/man/man9/style.9#28 integrate .. //depot/projects/hammer/share/man/man9/sysctl.9#3 integrate .. //depot/projects/hammer/share/man/man9/sysctl_add_oid.9#7 integrate .. //depot/projects/hammer/share/man/man9/timeout.9#15 integrate .. //depot/projects/hammer/share/misc/bsd-family-tree#44 integrate .. //depot/projects/hammer/share/misc/committers-ports.dot#12 integrate .. //depot/projects/hammer/share/misc/committers-src.dot#13 integrate .. //depot/projects/hammer/share/mk/bsd.sys.mk#18 integrate .. //depot/projects/hammer/share/syscons/keymaps/fr.macbook.acc.kbd#2 integrate .. //depot/projects/hammer/share/timedef/Makefile#19 integrate .. //depot/projects/hammer/share/timedef/nb_NO.ISO8859-1.src#1 branch .. //depot/projects/hammer/share/timedef/nb_NO.UTF-8.src#1 branch .. //depot/projects/hammer/share/timedef/no_NO.ISO8859-1.src#3 delete .. //depot/projects/hammer/share/timedef/no_NO.UTF-8.src#3 delete .. //depot/projects/hammer/share/zoneinfo/leapseconds#14 integrate .. //depot/projects/hammer/sys/Makefile#21 integrate .. //depot/projects/hammer/sys/amd64/amd64/busdma_machdep.c#48 integrate .. //depot/projects/hammer/sys/amd64/amd64/cpu_switch.S#47 integrate .. //depot/projects/hammer/sys/amd64/amd64/genassym.c#53 integrate .. //depot/projects/hammer/sys/amd64/amd64/machdep.c#170 integrate .. //depot/projects/hammer/sys/amd64/amd64/mp_machdep.c#132 integrate .. //depot/projects/hammer/sys/amd64/amd64/pmap.c#183 integrate .. //depot/projects/hammer/sys/amd64/conf/GENERIC#112 integrate .. //depot/projects/hammer/sys/amd64/conf/GENERIC.hints#15 integrate .. //depot/projects/hammer/sys/amd64/conf/NOTES#114 integrate .. //depot/projects/hammer/sys/amd64/ia32/ia32_signal.c#25 integrate .. //depot/projects/hammer/sys/amd64/include/param.h#36 integrate .. //depot/projects/hammer/sys/amd64/include/pcb.h#28 integrate .. //depot/projects/hammer/sys/amd64/include/pmap.h#69 integrate .. //depot/projects/hammer/sys/amd64/linux32/linux32_machdep.c#22 integrate .. //depot/projects/hammer/sys/arm/arm/db_interface.c#7 integrate .. //depot/projects/hammer/sys/arm/arm/elf_trampoline.c#12 integrate .. //depot/projects/hammer/sys/arm/arm/intr.c#20 integrate .. //depot/projects/hammer/sys/arm/arm/swtch.S#21 integrate .. //depot/projects/hammer/sys/arm/arm/vm_machdep.c#30 integrate .. //depot/projects/hammer/sys/arm/at91/at91_pmc.c#5 integrate .. //depot/projects/hammer/sys/arm/at91/at91_twi.c#8 integrate .. //depot/projects/hammer/sys/arm/at91/if_atereg.h#3 integrate .. //depot/projects/hammer/sys/arm/at91/uart_dev_at91usart.c#10 integrate .. //depot/projects/hammer/sys/arm/conf/AVILA#12 integrate .. //depot/projects/hammer/sys/arm/conf/KB920X#9 integrate .. //depot/projects/hammer/sys/arm/conf/NSLU#1 branch .. //depot/projects/hammer/sys/arm/conf/NSLU.hints#1 branch .. //depot/projects/hammer/sys/arm/include/db_machdep.h#7 integrate .. //depot/projects/hammer/sys/arm/xscale/i80321/ep80219_machdep.c#6 integrate .. //depot/projects/hammer/sys/arm/xscale/i80321/iq31244_machdep.c#24 integrate .. //depot/projects/hammer/sys/arm/xscale/i8134x/crb_machdep.c#7 integrate .. //depot/projects/hammer/sys/arm/xscale/ixp425/avila_machdep.c#7 integrate .. //depot/projects/hammer/sys/arm/xscale/ixp425/ixp425_iic.c#3 integrate .. //depot/projects/hammer/sys/arm/xscale/pxa/pxa_machdep.c#2 integrate .. //depot/projects/hammer/sys/boot/Makefile#21 integrate .. //depot/projects/hammer/sys/boot/common/misc.c#4 integrate .. //depot/projects/hammer/sys/boot/forth/loader.conf#40 integrate .. //depot/projects/hammer/sys/boot/i386/libi386/devicename.c#6 integrate .. //depot/projects/hammer/sys/bsm/audit.h#10 integrate .. //depot/projects/hammer/sys/bsm/audit_internal.h#6 integrate .. //depot/projects/hammer/sys/bsm/audit_kevents.h#10 integrate .. //depot/projects/hammer/sys/bsm/audit_record.h#7 integrate .. //depot/projects/hammer/sys/cam/cam_xpt.c#39 integrate .. //depot/projects/hammer/sys/cam/scsi/scsi_da.c#46 integrate .. //depot/projects/hammer/sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c#2 integrate .. //depot/projects/hammer/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c#2 integrate .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_misc.c#56 integrate .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_proto.h#55 integrate .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_syscall.h#52 integrate .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_syscalls.c#52 integrate .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_sysent.c#52 integrate .. //depot/projects/hammer/sys/compat/freebsd32/syscalls.master#57 integrate .. //depot/projects/hammer/sys/compat/linux/linux_ioctl.c#33 integrate .. //depot/projects/hammer/sys/compat/linux/linux_ioctl.h#14 integrate .. //depot/projects/hammer/sys/compat/linux/linux_misc.c#51 integrate .. //depot/projects/hammer/sys/compat/ndis/kern_ndis.c#43 integrate .. //depot/projects/hammer/sys/conf/Makefile.arm#26 integrate .. //depot/projects/hammer/sys/conf/NOTES#149 integrate .. //depot/projects/hammer/sys/conf/files#186 integrate .. //depot/projects/hammer/sys/conf/kern.mk#28 integrate .. //depot/projects/hammer/sys/conf/newvers.sh#22 integrate .. //depot/projects/hammer/sys/conf/options#131 integrate .. //depot/projects/hammer/sys/contrib/ipfilter/netinet/ip_compat.h#16 integrate .. //depot/projects/hammer/sys/contrib/ipfilter/netinet/ip_fil.h#13 integrate .. //depot/projects/hammer/sys/contrib/ipfilter/netinet/ip_nat.c#12 integrate .. //depot/projects/hammer/sys/contrib/ipfilter/netinet/ip_nat.h#10 integrate .. //depot/projects/hammer/sys/contrib/ipfilter/netinet/ip_state.c#13 integrate .. //depot/projects/hammer/sys/contrib/pf/net/pf.c#39 integrate .. //depot/projects/hammer/sys/contrib/pf/net/pf_ioctl.c#30 integrate .. //depot/projects/hammer/sys/crypto/via/padlock.c#7 integrate .. //depot/projects/hammer/sys/ddb/db_run.c#7 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi.c#84 integrate .. //depot/projects/hammer/sys/dev/age/if_age.c#3 integrate .. //depot/projects/hammer/sys/dev/agp/agp_i810.c#5 integrate .. //depot/projects/hammer/sys/dev/amr/amr.c#39 integrate .. //depot/projects/hammer/sys/dev/ata/ata-chipset.c#89 integrate .. //depot/projects/hammer/sys/dev/ata/ata-pci.h#54 integrate .. //depot/projects/hammer/sys/dev/atkbdc/psm.c#12 integrate .. //depot/projects/hammer/sys/dev/bfe/if_bfe.c#32 integrate .. //depot/projects/hammer/sys/dev/bfe/if_bfereg.h#10 integrate .. //depot/projects/hammer/sys/dev/bktr/bktr_i2c.c#8 integrate .. //depot/projects/hammer/sys/dev/ciss/ciss.c#51 integrate .. //depot/projects/hammer/sys/dev/ciss/cissio.h#5 integrate .. //depot/projects/hammer/sys/dev/ciss/cissreg.h#13 integrate .. //depot/projects/hammer/sys/dev/ciss/cissvar.h#9 integrate .. //depot/projects/hammer/sys/dev/cs/if_cs.c#22 integrate .. //depot/projects/hammer/sys/dev/cs/if_csreg.h#5 integrate .. //depot/projects/hammer/sys/dev/cxgb/common/cxgb_ael1002.c#6 integrate .. //depot/projects/hammer/sys/dev/cxgb/common/cxgb_common.h#8 integrate .. //depot/projects/hammer/sys/dev/cxgb/common/cxgb_mc5.c#6 integrate .. //depot/projects/hammer/sys/dev/cxgb/common/cxgb_mv88e1xxx.c#4 integrate .. //depot/projects/hammer/sys/dev/cxgb/common/cxgb_t3_cpl.h#7 integrate .. //depot/projects/hammer/sys/dev/cxgb/common/cxgb_t3_hw.c#8 integrate .. //depot/projects/hammer/sys/dev/cxgb/common/cxgb_tn1010.c#1 branch .. //depot/projects/hammer/sys/dev/cxgb/common/cxgb_vsc8211.c#5 integrate .. //depot/projects/hammer/sys/dev/cxgb/common/cxgb_xgmac.c#7 integrate .. //depot/projects/hammer/sys/dev/cxgb/cxgb_adapter.h#17 integrate .. //depot/projects/hammer/sys/dev/cxgb/cxgb_main.c#21 integrate .. //depot/projects/hammer/sys/dev/cxgb/cxgb_osdep.h#11 integrate .. //depot/projects/hammer/sys/dev/cxgb/cxgb_sge.c#19 integrate .. //depot/projects/hammer/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#8 integrate .. //depot/projects/hammer/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#9 integrate .. //depot/projects/hammer/sys/dev/cxgb/ulp/tom/cxgb_ddp.c#5 integrate .. //depot/projects/hammer/sys/dev/cxgb/ulp/tom/cxgb_l2t.c#2 integrate .. //depot/projects/hammer/sys/dev/cxgb/ulp/tom/cxgb_listen.c#5 integrate .. //depot/projects/hammer/sys/dev/cxgb/ulp/tom/cxgb_tcp_offload.c#2 integrate .. //depot/projects/hammer/sys/dev/cxgb/ulp/tom/cxgb_tcp_offload.h#3 integrate .. //depot/projects/hammer/sys/dev/cxgb/ulp/tom/cxgb_tom.c#5 integrate .. //depot/projects/hammer/sys/dev/cxgb/ulp/tom/cxgb_tom_sysctl.c#4 integrate .. //depot/projects/hammer/sys/dev/e1000/LICENSE#1 branch .. //depot/projects/hammer/sys/dev/e1000/README#1 branch .. //depot/projects/hammer/sys/dev/e1000/e1000_80003es2lan.c#1 branch .. //depot/projects/hammer/sys/dev/e1000/e1000_80003es2lan.h#1 branch .. //depot/projects/hammer/sys/dev/e1000/e1000_82540.c#1 branch .. //depot/projects/hammer/sys/dev/e1000/e1000_82541.c#1 branch .. //depot/projects/hammer/sys/dev/e1000/e1000_82541.h#1 branch .. //depot/projects/hammer/sys/dev/e1000/e1000_82542.c#1 branch .. //depot/projects/hammer/sys/dev/e1000/e1000_82543.c#1 branch .. //depot/projects/hammer/sys/dev/e1000/e1000_82543.h#1 branch .. //depot/projects/hammer/sys/dev/e1000/e1000_82571.c#1 branch .. //depot/projects/hammer/sys/dev/e1000/e1000_82571.h#1 branch .. //depot/projects/hammer/sys/dev/e1000/e1000_82575.c#1 branch .. //depot/projects/hammer/sys/dev/e1000/e1000_82575.h#1 branch .. //depot/projects/hammer/sys/dev/e1000/e1000_api.c#1 branch .. //depot/projects/hammer/sys/dev/e1000/e1000_api.h#1 branch .. //depot/projects/hammer/sys/dev/e1000/e1000_defines.h#1 branch .. //depot/projects/hammer/sys/dev/e1000/e1000_hw.h#1 branch .. //depot/projects/hammer/sys/dev/e1000/e1000_ich8lan.c#1 branch .. //depot/projects/hammer/sys/dev/e1000/e1000_ich8lan.h#1 branch .. //depot/projects/hammer/sys/dev/e1000/e1000_mac.c#1 branch .. //depot/projects/hammer/sys/dev/e1000/e1000_mac.h#1 branch .. //depot/projects/hammer/sys/dev/e1000/e1000_manage.c#1 branch .. //depot/projects/hammer/sys/dev/e1000/e1000_manage.h#1 branch .. //depot/projects/hammer/sys/dev/e1000/e1000_nvm.c#1 branch .. //depot/projects/hammer/sys/dev/e1000/e1000_nvm.h#1 branch .. //depot/projects/hammer/sys/dev/e1000/e1000_osdep.c#1 branch .. //depot/projects/hammer/sys/dev/e1000/e1000_osdep.h#1 branch .. //depot/projects/hammer/sys/dev/e1000/e1000_phy.c#1 branch .. //depot/projects/hammer/sys/dev/e1000/e1000_phy.h#1 branch .. //depot/projects/hammer/sys/dev/e1000/e1000_regs.h#1 branch .. //depot/projects/hammer/sys/dev/e1000/if_em.c#1 branch .. //depot/projects/hammer/sys/dev/e1000/if_em.h#1 branch .. //depot/projects/hammer/sys/dev/e1000/if_igb.c#1 branch .. //depot/projects/hammer/sys/dev/e1000/if_igb.h#1 branch .. //depot/projects/hammer/sys/dev/ed/if_ed.c#40 integrate .. //depot/projects/hammer/sys/dev/ed/if_ed_pccard.c#37 integrate .. //depot/projects/hammer/sys/dev/em/LICENSE#7 delete .. //depot/projects/hammer/sys/dev/em/README#15 delete .. //depot/projects/hammer/sys/dev/em/e1000_80003es2lan.c#6 delete .. //depot/projects/hammer/sys/dev/em/e1000_80003es2lan.h#5 delete .. //depot/projects/hammer/sys/dev/em/e1000_82540.c#6 delete .. //depot/projects/hammer/sys/dev/em/e1000_82541.c#6 delete .. //depot/projects/hammer/sys/dev/em/e1000_82541.h#5 delete .. //depot/projects/hammer/sys/dev/em/e1000_82542.c#6 delete .. //depot/projects/hammer/sys/dev/em/e1000_82543.c#6 delete .. //depot/projects/hammer/sys/dev/em/e1000_82543.h#5 delete .. //depot/projects/hammer/sys/dev/em/e1000_82571.c#7 delete .. //depot/projects/hammer/sys/dev/em/e1000_82571.h#7 delete .. //depot/projects/hammer/sys/dev/em/e1000_api.c#7 delete .. //depot/projects/hammer/sys/dev/em/e1000_api.h#7 delete .. //depot/projects/hammer/sys/dev/em/e1000_defines.h#7 delete .. //depot/projects/hammer/sys/dev/em/e1000_hw.h#7 delete .. //depot/projects/hammer/sys/dev/em/e1000_ich8lan.c#7 delete .. //depot/projects/hammer/sys/dev/em/e1000_ich8lan.h#7 delete .. //depot/projects/hammer/sys/dev/em/e1000_mac.c#6 delete .. //depot/projects/hammer/sys/dev/em/e1000_mac.h#6 delete .. //depot/projects/hammer/sys/dev/em/e1000_manage.c#6 delete .. //depot/projects/hammer/sys/dev/em/e1000_manage.h#5 delete .. //depot/projects/hammer/sys/dev/em/e1000_nvm.c#6 delete .. //depot/projects/hammer/sys/dev/em/e1000_nvm.h#6 delete .. //depot/projects/hammer/sys/dev/em/e1000_osdep.c#2 delete .. //depot/projects/hammer/sys/dev/em/e1000_osdep.h#7 delete .. //depot/projects/hammer/sys/dev/em/e1000_phy.c#7 delete .. //depot/projects/hammer/sys/dev/em/e1000_phy.h#7 delete .. //depot/projects/hammer/sys/dev/em/e1000_regs.h#5 delete .. //depot/projects/hammer/sys/dev/em/if_em.c#76 delete .. //depot/projects/hammer/sys/dev/em/if_em.h#39 delete .. //depot/projects/hammer/sys/dev/esp/esp_sbus.c#14 integrate .. //depot/projects/hammer/sys/dev/esp/ncr53c9x.c#13 integrate .. //depot/projects/hammer/sys/dev/esp/ncr53c9xvar.h#8 integrate .. //depot/projects/hammer/sys/dev/et/if_et.c#2 integrate .. //depot/projects/hammer/sys/dev/hwpmc/hwpmc_mod.c#23 integrate .. //depot/projects/hammer/sys/dev/ie/if_ie.c#19 integrate .. //depot/projects/hammer/sys/dev/ie/if_ie_isa.c#9 integrate .. //depot/projects/hammer/sys/dev/ie/if_ievar.h#5 integrate .. //depot/projects/hammer/sys/dev/igb/e1000_82575.c#3 delete .. //depot/projects/hammer/sys/dev/igb/e1000_82575.h#2 delete .. //depot/projects/hammer/sys/dev/igb/e1000_api.c#3 delete .. //depot/projects/hammer/sys/dev/igb/e1000_api.h#3 delete .. //depot/projects/hammer/sys/dev/igb/e1000_defines.h#3 delete .. //depot/projects/hammer/sys/dev/igb/e1000_hw.h#3 delete .. //depot/projects/hammer/sys/dev/igb/e1000_mac.c#4 delete .. //depot/projects/hammer/sys/dev/igb/e1000_mac.h#2 delete .. //depot/projects/hammer/sys/dev/igb/e1000_manage.c#2 delete .. //depot/projects/hammer/sys/dev/igb/e1000_manage.h#3 delete .. //depot/projects/hammer/sys/dev/igb/e1000_nvm.c#2 delete .. //depot/projects/hammer/sys/dev/igb/e1000_nvm.h#2 delete .. //depot/projects/hammer/sys/dev/igb/e1000_osdep.c#3 delete .. //depot/projects/hammer/sys/dev/igb/e1000_osdep.h#3 delete .. //depot/projects/hammer/sys/dev/igb/e1000_phy.c#3 delete .. //depot/projects/hammer/sys/dev/igb/e1000_phy.h#2 delete .. //depot/projects/hammer/sys/dev/igb/e1000_regs.h#2 delete .. //depot/projects/hammer/sys/dev/igb/if_igb.c#4 delete .. //depot/projects/hammer/sys/dev/igb/if_igb.h#3 delete .. //depot/projects/hammer/sys/dev/iicbus/ad7418.c#2 integrate .. //depot/projects/hammer/sys/dev/iicbus/ds1339.c#1 branch .. //depot/projects/hammer/sys/dev/iicbus/icee.c#3 integrate .. //depot/projects/hammer/sys/dev/iicbus/if_ic.c#14 integrate .. //depot/projects/hammer/sys/dev/iicbus/iic.c#12 integrate .. //depot/projects/hammer/sys/dev/iicbus/iicbb.c#7 integrate .. //depot/projects/hammer/sys/dev/iicbus/iicbus.c#9 integrate .. //depot/projects/hammer/sys/dev/iicbus/iicbus.h#5 integrate .. //depot/projects/hammer/sys/dev/iicbus/iiconf.c#5 integrate .. //depot/projects/hammer/sys/dev/iicbus/iicsmb.c#6 integrate .. //depot/projects/hammer/sys/dev/ixgbe/ixgbe.c#4 integrate .. //depot/projects/hammer/sys/dev/ixgbe/ixgbe.h#5 integrate .. //depot/projects/hammer/sys/dev/ixgbe/ixgbe_82598.c#4 integrate .. //depot/projects/hammer/sys/dev/ixgbe/ixgbe_api.c#4 integrate .. //depot/projects/hammer/sys/dev/ixgbe/ixgbe_api.h#4 integrate .. //depot/projects/hammer/sys/dev/ixgbe/ixgbe_common.c#4 integrate .. //depot/projects/hammer/sys/dev/ixgbe/ixgbe_common.h#4 integrate .. //depot/projects/hammer/sys/dev/ixgbe/ixgbe_phy.c#4 integrate .. //depot/projects/hammer/sys/dev/ixgbe/ixgbe_phy.h#4 integrate .. //depot/projects/hammer/sys/dev/ixgbe/ixgbe_type.h#4 integrate .. //depot/projects/hammer/sys/dev/jme/if_jme.c#2 integrate .. //depot/projects/hammer/sys/dev/kbd/kbd.c#15 integrate .. //depot/projects/hammer/sys/dev/kbdmux/kbdmux.c#7 integrate .. //depot/projects/hammer/sys/dev/mii/rgephy.c#11 integrate .. //depot/projects/hammer/sys/dev/mpt/mpt_raid.c#12 integrate .. //depot/projects/hammer/sys/dev/mxge/if_mxge.c#16 integrate .. //depot/projects/hammer/sys/dev/nvram/nvram.c#4 integrate .. //depot/projects/hammer/sys/dev/pccard/pccard.c#35 integrate .. //depot/projects/hammer/sys/dev/pccard/pccarddevs#52 integrate .. //depot/projects/hammer/sys/dev/pccard/pccardvar.h#19 integrate .. //depot/projects/hammer/sys/dev/pcf/envctrl.c#8 integrate .. //depot/projects/hammer/sys/dev/pcf/pcf.c#2 integrate .. //depot/projects/hammer/sys/dev/pcf/pcf_ebus.c#7 integrate .. //depot/projects/hammer/sys/dev/pcf/pcf_isa.c#7 integrate .. //depot/projects/hammer/sys/dev/pcf/pcfvar.h#4 integrate .. //depot/projects/hammer/sys/dev/pci/pci.c#66 integrate .. //depot/projects/hammer/sys/dev/pci/pci_pci.c#24 integrate .. //depot/projects/hammer/sys/dev/pci/pcivar.h#19 integrate .. //depot/projects/hammer/sys/dev/ppbus/lpbb.c#5 integrate .. //depot/projects/hammer/sys/dev/re/if_re.c#62 integrate .. //depot/projects/hammer/sys/dev/snc/dp83932.c#18 integrate .. //depot/projects/hammer/sys/dev/snc/dp83932var.h#7 integrate .. //depot/projects/hammer/sys/dev/snc/if_snc.c#6 integrate .. //depot/projects/hammer/sys/dev/snc/if_snc_cbus.c#6 integrate .. //depot/projects/hammer/sys/dev/snc/if_snc_pccard.c#11 integrate .. //depot/projects/hammer/sys/dev/sound/pci/hda/hdac.c#18 integrate .. //depot/projects/hammer/sys/dev/syscons/syscons.c#47 integrate .. //depot/projects/hammer/sys/dev/usb/ehci_pci.c#28 integrate .. //depot/projects/hammer/sys/dev/usb/ehcireg.h#9 integrate .. //depot/projects/hammer/sys/dev/usb/if_rum.c#11 integrate .. //depot/projects/hammer/sys/dev/usb/if_ural.c#30 integrate .. //depot/projects/hammer/sys/dev/usb/ohci.c#30 integrate .. //depot/projects/hammer/sys/dev/usb/ugen.c#31 integrate .. //depot/projects/hammer/sys/dev/usb/uhid.c#24 integrate .. //depot/projects/hammer/sys/dev/usb/uipaq.c#7 integrate .. //depot/projects/hammer/sys/dev/usb/usbdevs#106 integrate .. //depot/projects/hammer/sys/dev/vr/if_vr.c#2 integrate .. //depot/projects/hammer/sys/dev/vr/if_vrreg.h#2 integrate .. //depot/projects/hammer/sys/dev/wi/if_wi.c#58 integrate .. //depot/projects/hammer/sys/dev/wi/if_wi_pccard.c#31 integrate .. //depot/projects/hammer/sys/dev/wi/if_wi_pci.c#16 integrate .. //depot/projects/hammer/sys/dev/wi/if_wireg.h#10 integrate .. //depot/projects/hammer/sys/dev/wi/if_wivar.h#19 integrate .. //depot/projects/hammer/sys/geom/eli/g_eli.c#18 integrate .. //depot/projects/hammer/sys/geom/part/g_part_apm.c#8 integrate .. //depot/projects/hammer/sys/geom/vinum/geom_vinum_rename.c#2 integrate .. //depot/projects/hammer/sys/geom/vinum/geom_vinum_subr.c#15 integrate .. //depot/projects/hammer/sys/gnu/fs/xfs/FreeBSD/xfs_mountops.c#9 integrate .. //depot/projects/hammer/sys/gnu/fs/xfs/FreeBSD/xfs_vnode.c#5 integrate .. //depot/projects/hammer/sys/i386/conf/GENERIC#70 integrate .. //depot/projects/hammer/sys/i386/conf/GENERIC.hints#12 integrate .. //depot/projects/hammer/sys/i386/conf/NOTES#105 integrate .. //depot/projects/hammer/sys/i386/i386/busdma_machdep.c#38 integrate .. //depot/projects/hammer/sys/i386/i386/mp_machdep.c#76 integrate .. //depot/projects/hammer/sys/i386/i386/pmap.c#115 integrate .. //depot/projects/hammer/sys/i386/include/pmap.h#37 integrate .. //depot/projects/hammer/sys/i386/include/profile.h#14 integrate .. //depot/projects/hammer/sys/ia64/ia64/busdma_machdep.c#23 integrate .. //depot/projects/hammer/sys/kern/kern_condvar.c#28 integrate .. //depot/projects/hammer/sys/kern/kern_conf.c#52 integrate .. //depot/projects/hammer/sys/kern/kern_environment.c#19 integrate .. //depot/projects/hammer/sys/kern/kern_exec.c#82 integrate .. //depot/projects/hammer/sys/kern/kern_fork.c#73 integrate .. //depot/projects/hammer/sys/kern/kern_intr.c#51 integrate .. //depot/projects/hammer/sys/kern/kern_kthread.c#18 integrate .. //depot/projects/hammer/sys/kern/kern_lock.c#41 integrate .. //depot/projects/hammer/sys/kern/kern_proc.c#69 integrate .. //depot/projects/hammer/sys/kern/kern_sig.c#91 integrate .. //depot/projects/hammer/sys/kern/kern_sx.c#23 integrate .. //depot/projects/hammer/sys/kern/kern_synch.c#68 integrate .. //depot/projects/hammer/sys/kern/kern_thread.c#108 integrate .. //depot/projects/hammer/sys/kern/kern_timeout.c#31 integrate .. //depot/projects/hammer/sys/kern/link_elf.c#34 integrate .. //depot/projects/hammer/sys/kern/link_elf_obj.c#59 integrate .. //depot/projects/hammer/sys/kern/sched_4bsd.c#63 integrate .. //depot/projects/hammer/sys/kern/sched_ule.c#98 integrate .. //depot/projects/hammer/sys/kern/subr_autoconf.c#9 integrate .. //depot/projects/hammer/sys/kern/subr_clist.c#2 integrate .. //depot/projects/hammer/sys/kern/subr_lock.c#14 integrate .. //depot/projects/hammer/sys/kern/subr_sleepqueue.c#31 integrate .. //depot/projects/hammer/sys/kern/subr_stack.c#5 integrate .. //depot/projects/hammer/sys/kern/subr_taskqueue.c#25 integrate .. //depot/projects/hammer/sys/kern/subr_witness.c#72 integrate .. //depot/projects/hammer/sys/kern/tty.c#60 integrate .. //depot/projects/hammer/sys/kern/tty_info.c#1 branch .. //depot/projects/hammer/sys/kern/tty_pts.c#9 integrate .. //depot/projects/hammer/sys/kern/tty_pty.c#39 integrate .. //depot/projects/hammer/sys/kern/uipc_socket.c#84 integrate .. //depot/projects/hammer/sys/kern/uipc_usrreq.c#58 integrate .. //depot/projects/hammer/sys/kern/vfs_bio.c#89 integrate .. //depot/projects/hammer/sys/kern/vfs_cache.c#31 integrate .. //depot/projects/hammer/sys/kern/vfs_mount.c#96 integrate .. //depot/projects/hammer/sys/kern/vfs_subr.c#133 integrate .. //depot/projects/hammer/sys/kern/vfs_vnops.c#55 integrate .. //depot/projects/hammer/sys/libkern/arc4random.c#5 integrate .. //depot/projects/hammer/sys/libkern/memset.c#2 integrate .. //depot/projects/hammer/sys/mips/mips/machdep.c#3 integrate .. //depot/projects/hammer/sys/mips/mips/tick.c#2 integrate .. //depot/projects/hammer/sys/modules/Makefile#129 integrate .. //depot/projects/hammer/sys/modules/accf_dns/Makefile#1 branch .. //depot/projects/hammer/sys/modules/cxgb/cxgb/Makefile#7 integrate .. //depot/projects/hammer/sys/modules/em/Makefile#10 integrate .. //depot/projects/hammer/sys/modules/et/Makefile#2 integrate .. //depot/projects/hammer/sys/modules/igb/Makefile#4 integrate .. //depot/projects/hammer/sys/modules/mem/Makefile#5 integrate .. //depot/projects/hammer/sys/modules/netgraph/Makefile#23 integrate .. //depot/projects/hammer/sys/modules/netgraph/bluetooth/Makefile#6 integrate .. //depot/projects/hammer/sys/modules/netgraph/bluetooth/socket/Makefile#6 integrate .. //depot/projects/hammer/sys/modules/nfslockd/Makefile#3 integrate .. //depot/projects/hammer/sys/net/bpf.c#63 integrate .. //depot/projects/hammer/sys/net/bpf_buffer.c#2 integrate .. //depot/projects/hammer/sys/net/bpfdesc.h#20 integrate .. //depot/projects/hammer/sys/net/if.h#32 integrate .. //depot/projects/hammer/sys/net/if_gre.c#39 integrate .. //depot/projects/hammer/sys/net/if_loop.c#36 integrate .. //depot/projects/hammer/sys/net/if_media.h#23 integrate .. //depot/projects/hammer/sys/net/if_vlan.c#43 integrate .. //depot/projects/hammer/sys/net/raw_cb.c#14 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Aug 7 01:38:10 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F1F301065675; Thu, 7 Aug 2008 01:38:09 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B4DAA1065671 for ; Thu, 7 Aug 2008 01:38:09 +0000 (UTC) (envelope-from snagg@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A16428FC0A for ; Thu, 7 Aug 2008 01:38:09 +0000 (UTC) (envelope-from snagg@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m771c9kH041652 for ; Thu, 7 Aug 2008 01:38:09 GMT (envelope-from snagg@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m771c9gl041650 for perforce@freebsd.org; Thu, 7 Aug 2008 01:38:09 GMT (envelope-from snagg@FreeBSD.org) Date: Thu, 7 Aug 2008 01:38:09 GMT Message-Id: <200808070138.m771c9gl041650@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to snagg@FreeBSD.org using -f From: Vincenzo Iozzo To: Perforce Change Reviews Cc: Subject: PERFORCE change 146812 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: Thu, 07 Aug 2008 01:38:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=146812 Change 146812 by snagg@snagg_macosx on 2008/08/07 01:37:29 added check_priv_child for tests which change process privileges. Added tests for fork(2) waitpid(2) setauid(2) Affected files ... .. //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/audit_pipe_regression_test_utils.c#10 edit .. //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/audit_pipe_regression_test_utils.h#8 edit .. //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/specific-event/audit_pipe_event_fork.c#1 add .. //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/specific-event/audit_pipe_event_kill.c#2 edit .. //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/specific-event/audit_pipe_event_setauid.c#1 add .. //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/specific-event/audit_pipe_event_setgid.c#4 edit .. //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/specific-event/audit_pipe_event_setuid.c#4 edit .. //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/specific-event/audit_pipe_event_waitpid.c#1 add Differences ... ==== //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/audit_pipe_regression_test_utils.c#10 (text+ko) ==== ==== //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/audit_pipe_regression_test_utils.h#8 (text+ko) ==== ==== //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/specific-event/audit_pipe_event_kill.c#2 (text+ko) ==== @@ -34,7 +34,7 @@ char err_val[256]; int ret; int index; - struct ext_priv p; + struct priv p; struct kill_record *next; }; @@ -45,8 +45,7 @@ tmp = head; if(tmp == NULL) return (NULL); - for(; tmp->next != NULL; tmp = tmp->next) - { + for(; tmp->next != NULL; tmp = tmp->next) { if(tmp->next->index == index) { p = tmp->next; tmp->next = tmp->next->next; @@ -83,11 +82,14 @@ { int ret; int pid; + int auid; + init_channel_primary(); pid = fork(); - if(!pid) - { + if(!pid) { + getauid(&auid); + write_int(auid, "ext_auid"); write_int(geteuid(), "ext_euid"); write_int(getuid(), "ext_ruid"); write_int(getgid(), "ext_rgid"); @@ -107,9 +109,10 @@ } pid = fork(); - if(!pid) - { + if(!pid) { signal(15, NULL); + getauid(&auid); + write_int(auid, "ext_auid"); write_int(geteuid(), "ext_euid"); write_int(getuid(), "ext_ruid"); write_int(getgid(), "ext_rgid"); @@ -130,8 +133,9 @@ } pid = fork(); - if(!pid) - { + if(!pid) { + getauid(&auid); + write_int(auid, "ext_auid"); write_int(geteuid(), "ext_euid"); write_int(getuid(), "ext_ruid"); write_int(getgid(), "ext_rgid"); @@ -306,8 +310,7 @@ if(elem == NULL) err(-1, "MALLOC"); - while((count = parse_string(shared_string)) != -1) - { + while((count = parse_string(shared_string)) != -1) { descr = get_descr(shared_string); if(count == INT_TYPE) { if(!strncmp(descr, "sig", 3)) @@ -318,6 +321,8 @@ elem->pid = get_int(shared_string); else if (!strncmp(descr, "ext_euid", 8)) elem->p.euid = get_int(shared_string); + else if (!strncmp(descr, "ext_auid", 8)) + elem->p.auid = get_int(shared_string); else if (!strncmp(descr, "ext_pid", 7)) elem->p.pid = get_int(shared_string); else if (!strncmp(descr, "ext_ruid", 8)) @@ -327,8 +332,7 @@ else elem->p.egid = get_int(shared_string); } - else if ( count == STRING_TYPE) - { + else if ( count == STRING_TYPE) { snprintf(elem->err_val, sizeof(elem->err_val) > strlen(shared_string) +1 ? strlen(shared_string) +1 : ==== //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/specific-event/audit_pipe_event_setgid.c#4 (text+ko) ==== @@ -33,19 +33,18 @@ char err_val[256]; int ret; int index; + struct priv p; struct setgid_record *next; }; struct setgid_record *del_record(struct setgid_record *head, int index) { - struct setgid_record *tmp; - struct setgid_record *p; + struct setgid_record *tmp, *p; tmp = head; if(tmp == NULL) return NULL; - for(; tmp->next != NULL; tmp = tmp->next) - { + for(; tmp->next != NULL; tmp = tmp->next) { if(tmp->next->index == index) { p = tmp->next; tmp->next = tmp->next->next; @@ -80,11 +79,19 @@ void test_setgid() { - int ret; + int ret, auid; init_channel_primary(); ret = setgid(0); + + getauid(&auid); + + write_int(auid, "child_auid"); + write_int(geteuid(), "child_euid"); + write_int(getuid(), "child_ruid"); + write_int(getgid(), "child_rgid"); + write_int(getegid(), "child_egid"); write_int(0, "gid"); write_int(ret, "ret"); if (ret == -1) @@ -94,7 +101,15 @@ write_end(); ret = setgid(1000); - write_int(1000, "gid"); + + getauid(&auid); + + write_int(auid, "child_auid"); + write_int(geteuid(), "child_euid"); + write_int(getuid(), "child_ruid"); + write_int(getgid(), "child_rgid"); + write_int(getegid(), "child_egid"); + write_int(1000, "gid"); write_int(ret, "ret"); if (ret == -1) write_string(strerror(errno), "ret_val"); @@ -153,14 +168,14 @@ } bytesread += tok.len; - /* Check only setgid syscals */ + /* Check only setgid syscalls */ if(tok.tt.hdr32.e_type == 205) to_parse = VALID; if(to_parse == VALID) { switch(tok.id) { case AUT_SUBJECT32: - ret = check_priv(tok.tt.proc32_ex, pid); + ret = check_priv_child(tok.tt.proc32_ex, tmp->p); if(!ret) report_error(tok, f); break; @@ -244,11 +259,20 @@ if(count == INT_TYPE) { if(!strncmp(descr, "gid", 3)) elem->gid = get_int(shared_string); + else if (!strncmp(descr, "child_euid", 8)) + elem->p.euid = get_int(shared_string); + else if (!strncmp(descr, "child_auid", 8)) + elem->p.auid = get_int(shared_string); + else if (!strncmp(descr, "child_ruid", 8)) + elem->p.ruid = get_int(shared_string); + else if (!strncmp(descr, "child_rgid", 8)) + elem->p.rgid = get_int(shared_string); + else if (!strncmp(descr, "child_egid", 8)) + elem->p.egid = get_int(shared_string); else elem->ret = get_int(shared_string); } - else if ( count == STRING_TYPE) - { + else if ( count == STRING_TYPE) { snprintf(elem->err_val, sizeof(elem->err_val) > strlen(shared_string) +1 ? strlen(shared_string) +1 : @@ -256,7 +280,8 @@ shared_string); } shared_string = read_string(); - } + } + elem->p.pid = pid; head = add_field(head, elem); if(head == NULL) err(-1, "List error"); ==== //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/specific-event/audit_pipe_event_setuid.c#4 (text+ko) ==== @@ -33,6 +33,7 @@ char err_val[256]; int ret; int index; + struct priv p; struct setuid_record *next; }; @@ -44,8 +45,7 @@ tmp = head; if(tmp == NULL) return NULL; - for(; tmp->next != NULL; tmp = tmp->next) - { + for(; tmp->next != NULL; tmp = tmp->next) { if(tmp->next->index == index) { p = tmp->next; tmp->next = tmp->next->next; @@ -80,11 +80,18 @@ void test_setuid() { - int ret; - + int ret, auid; + init_channel_primary(); ret = setuid(1001); + getauid(&auid); + + write_int(auid, "child_auid"); + write_int(geteuid(), "child_euid"); + write_int(getuid(), "child_ruid"); + write_int(getgid(), "child_rgid"); + write_int(getegid(), "child_egid"); write_int(1001, "uid"); write_int(ret, "ret"); if (ret == -1) @@ -94,6 +101,13 @@ write_end(); ret = setuid(0); + getauid(&auid); + + write_int(auid, "child_auid"); + write_int(geteuid(), "child_euid"); + write_int(getuid(), "child_ruid"); + write_int(getgid(), "child_rgid"); + write_int(getegid(), "child_egid"); write_int(0, "uid"); write_int(ret, "ret"); if (ret == -1) @@ -154,14 +168,14 @@ } bytesread += tok.len; - /* Check only setuid syscals */ + /* Check only setuid syscalls */ if(tok.tt.hdr32.e_type == 200) to_parse = VALID; if(to_parse == VALID) { switch(tok.id) { case AUT_SUBJECT32: - ret = check_priv(tok.tt.proc32_ex, pid); + ret = check_priv_child(tok.tt.proc32_ex, tmp->p); if(!ret) report_error(tok, f); break; @@ -239,17 +253,25 @@ if(elem == NULL) err(-1, "MALLOC"); - while((count = parse_string(shared_string)) != -1) - { + while((count = parse_string(shared_string)) != -1) { descr = get_descr(shared_string); if(count == INT_TYPE) { if(!strncmp(descr, "uid", 3)) elem->uid = get_int(shared_string); + else if (!strncmp(descr, "child_euid", 8)) + elem->p.euid = get_int(shared_string); + else if (!strncmp(descr, "child_auid", 8)) + elem->p.auid = get_int(shared_string); + else if (!strncmp(descr, "child_ruid", 8)) + elem->p.ruid = get_int(shared_string); + else if (!strncmp(descr, "child_rgid", 8)) + elem->p.rgid = get_int(shared_string); + else if (!strncmp(descr, "child_egid", 8)) + elem->p.egid = get_int(shared_string); else elem->ret = get_int(shared_string); } - else if ( count == STRING_TYPE) - { + else if ( count == STRING_TYPE) { snprintf(elem->err_val, sizeof(elem->err_val) > strlen(shared_string) +1 ? strlen(shared_string) +1 : @@ -257,7 +279,8 @@ shared_string); } shared_string = read_string(); - } + } + elem->p.pid = pid; head = add_field(head, elem); if(head == NULL) err(-1, "List error"); From owner-p4-projects@FreeBSD.ORG Thu Aug 7 02:46:19 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 61AA8106566C; Thu, 7 Aug 2008 02:46:19 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 27AED106564A for ; Thu, 7 Aug 2008 02:46:19 +0000 (UTC) (envelope-from weongyo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EF7798FC0A for ; Thu, 7 Aug 2008 02:46:18 +0000 (UTC) (envelope-from weongyo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m772kI69050215 for ; Thu, 7 Aug 2008 02:46:18 GMT (envelope-from weongyo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m772kIKQ050213 for perforce@freebsd.org; Thu, 7 Aug 2008 02:46:18 GMT (envelope-from weongyo@FreeBSD.org) Date: Thu, 7 Aug 2008 02:46:18 GMT Message-Id: <200808070246.m772kIKQ050213@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to weongyo@FreeBSD.org using -f From: Weongyo Jeong To: Perforce Change Reviews Cc: Subject: PERFORCE change 146814 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: Thu, 07 Aug 2008 02:46:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=146814 Change 146814 by weongyo@weongyo_ws on 2008/08/07 02:46:03 add upgt(4) wireless driver before committing into HEAD because it looks that it needs some retouching. Affected files ... .. //depot/projects/vap/share/man/man4/upgt.4#1 add .. //depot/projects/vap/sys/dev/usb/if_upgt.c#1 add .. //depot/projects/vap/sys/dev/usb/if_upgtvar.h#1 add .. //depot/projects/vap/sys/modules/upgt/Makefile#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Thu Aug 7 11:01:47 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D8BCA106566C; Thu, 7 Aug 2008 11:01:46 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9B7201065674 for ; Thu, 7 Aug 2008 11:01:46 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 89FF58FC0C for ; Thu, 7 Aug 2008 11:01:46 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m77B1k3Y025941 for ; Thu, 7 Aug 2008 11:01:46 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m77B1k2H025939 for perforce@freebsd.org; Thu, 7 Aug 2008 11:01:46 GMT (envelope-from trasz@freebsd.org) Date: Thu, 7 Aug 2008 11:01:46 GMT Message-Id: <200808071101.m77B1k2H025939@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 146830 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: Thu, 07 Aug 2008 11:01:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=146830 Change 146830 by trasz@trasz_traszkan on 2008/08/07 11:01:27 Update TODO. Port of SunOS-compatibility wrapper is here: http://freebsd.org/~trasz/libsunacl.shar Code is here: http://people.freebsd.org/~trasz/libsunacl-1.0.tar.gz Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/TODO#34 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/TODO#34 (text+ko) ==== @@ -23,6 +23,6 @@ - (maybe) Add a flag to inode to mark whether the file has ACL; don't try to read ACL extatrr if the flag is not set. -- Write library that implements SunOS acl(2)/facl(2) as wrappers around - __acl_whatever syscalls. Use it in Samba. +- Port Samba vfs_zfsacl module using libsunacl + (http://freebsd.org/~trasz/libsunacl.shar). From owner-p4-projects@FreeBSD.ORG Thu Aug 7 11:55:41 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 517F21065681; Thu, 7 Aug 2008 11:55:41 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 148FA1065678 for ; Thu, 7 Aug 2008 11:55:41 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 012E38FC0C for ; Thu, 7 Aug 2008 11:55:41 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m77BteQT031360 for ; Thu, 7 Aug 2008 11:55:40 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m77Bteek031358 for perforce@freebsd.org; Thu, 7 Aug 2008 11:55:40 GMT (envelope-from trasz@freebsd.org) Date: Thu, 7 Aug 2008 11:55:40 GMT Message-Id: <200808071155.m77Bteek031358@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 146831 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: Thu, 07 Aug 2008 11:55:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=146831 Change 146831 by trasz@trasz_traszkan on 2008/08/07 11:55:12 Prepend errors printed out by setfacl(1) with file name. Use the same capitalization rules in all messages. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/TODO#35 edit .. //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/mask.c#2 edit .. //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/merge.c#7 edit .. //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/remove.c#5 edit .. //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/setfacl.c#7 edit .. //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/setfacl.h#4 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/TODO#35 (text+ko) ==== @@ -1,7 +1,5 @@ Things to do, in no particular order: -- Make setfacl(1) error messages more user friendly. - - Add support for NFS4 ACLs to tar(1). - Clean up #defines. For example, make VREAD_NAMED_ATTRS equal ==== //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/mask.c#2 (text+ko) ==== @@ -40,7 +40,7 @@ /* set the appropriate mask the given ACL's */ int -set_acl_mask(acl_t *prev_acl) +set_acl_mask(acl_t *prev_acl, char *filename) { acl_entry_t entry; acl_t acl; @@ -59,7 +59,7 @@ acl = acl_dup(*prev_acl); if (acl == NULL) - err(1, "acl_dup() failed"); + err(1, "%s: acl_dup() failed", filename); if (n_flag == 0) { /* @@ -70,7 +70,7 @@ * class in the resulting ACL */ if (acl_calc_mask(&acl)) { - warn("acl_calc_mask() failed"); + warn("%s: acl_calc_mask() failed", filename); acl_free(acl); return (-1); } @@ -86,7 +86,8 @@ while (acl_get_entry(acl, entry_id, &entry) == 1) { entry_id = ACL_NEXT_ENTRY; if (acl_get_tag_type(entry, &tag) == -1) - err(1, "acl_get_tag_type() failed"); + err(1, "%s: acl_get_tag_type() failed", + filename); if (tag == ACL_MASK) { acl_free(acl); @@ -100,7 +101,7 @@ * file, then write an error message to standard error and * continue with the next file. */ - warnx("warning: no mask entry"); + warnx("%s: warning: no mask entry", filename); acl_free(acl); return (0); } ==== //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/merge.c#7 (text+ko) ==== @@ -85,7 +85,7 @@ * merge an ACL into existing file's ACL */ int -merge_acl(acl_t acl, acl_t *prev_acl) +merge_acl(acl_t acl, acl_t *prev_acl, const char *filename) { acl_entry_t entry, entry_new; acl_permset_t permset; @@ -100,8 +100,8 @@ acl_get_brand_np(prev_acl[0], &prev_acl_brand); if (acl_brand != prev_acl_brand) { - warnx("branding mismatch; existing ACL is %s, " - "entry to be merged is %s", + warnx("%s: branding mismatch; existing ACL is %s, " + "entry to be merged is %s", filename, prev_acl_brand == ACL_BRAND_NFS4 ? "NFS4" : "POSIX", acl_brand == ACL_BRAND_NFS4 ? "NFS4" : "POSIX"); return (-1); @@ -112,7 +112,7 @@ else acl_new = acl_dup(prev_acl[DEFAULT_ACL]); if (acl_new == NULL) - err(1, "acl_dup() failed"); + err(1, "%s: acl_dup() failed", filename); entry_id = ACL_FIRST_ENTRY; @@ -122,7 +122,8 @@ /* keep track of existing ACL_MASK entries */ if (acl_get_tag_type(entry, &tag) == -1) - err(1, "acl_get_tag_type() failed - invalid ACL entry"); + err(1, "%s: acl_get_tag_type() failed - " + "invalid ACL entry", filename); if (tag == ACL_MASK) have_mask = 1; @@ -133,9 +134,11 @@ entry_id_new = ACL_NEXT_ENTRY; if (acl_get_tag_type(entry, &tag) == -1) - err(1, "acl_get_tag_type() failed"); + err(1, "%s: acl_get_tag_type() failed", + filename); if (acl_get_tag_type(entry_new, &tag_new) == -1) - err(1, "acl_get_tag_type() failed"); + err(1, "%s: acl_get_tag_type() failed", + filename); if (tag != tag_new) continue; @@ -145,9 +148,11 @@ */ if (acl_type == ACL_TYPE_NFS4) { if (acl_get_extended_np(entry, &extended)) - err(1, "acl_get_extended_np() failed"); + err(1, "%s: acl_get_extended_np() " + "failed", filename); if (acl_get_extended_np(entry_new, &extended_new)) - err(1, "acl_get_extended_np() failed"); + err(1, "%s: acl_get_extended_np() " + "failed", filename); if (extended != extended_new) continue; } @@ -166,25 +171,31 @@ case ACL_MASK: case ACL_EVERYONE: if (acl_get_permset(entry, &permset) == -1) - err(1, "acl_get_permset() failed"); + err(1, "%s: acl_get_permset() failed", + filename); if (acl_set_permset(entry_new, permset) == -1) - err(1, "acl_set_permset() failed"); + err(1, "%s: acl_set_permset() failed", + filename); if (acl_type == ACL_TYPE_NFS4) { if (acl_get_extended_np(entry, &extended)) - err(1, "acl_get_extended_np() failed"); + err(1, "%s: acl_get_extended_np() failed", + filename); if (acl_set_extended_np(entry_new, extended)) - err(1, "acl_set_extended_np() failed"); + err(1, "%s: acl_set_extended_np() failed", + filename); if (acl_get_flagset_np(entry, &flagset)) - err(1, "acl_get_flagset_np() failed"); + err(1, "%s: acl_get_flagset_np() failed", + filename); if (acl_set_flagset_np(entry_new, flagset)) - err(1, "acl_set_flagset_np() failed"); + err(1, "%s: acl_set_flagset_np() failed", + filename); } have_entry = 1; break; default: /* should never be here */ - errx(1, "Invalid tag type: %i", tag); + errx(1, "%s: invalid tag type: %i", filename, tag); break; } } @@ -199,7 +210,7 @@ */ if (acl_type == ACL_TYPE_NFS4) { if (acl_create_entry_np(&acl_new, &entry_new, entry_number) == -1) { - warnx("acl_create_entry_np() failed"); + warn("%s: acl_create_entry_np() failed", filename); acl_free(acl_new); return (-1); } @@ -212,13 +223,13 @@ entry_number++; } else { if (acl_create_entry(&acl_new, &entry_new) == -1) { - warnx("acl_create_entry() failed"); + warn("%s: acl_create_entry() failed", filename); acl_free(acl_new); return (-1); } } if (acl_copy_entry(entry_new, entry) == -1) - err(1, "acl_copy_entry() failed"); + err(1, "%s: acl_copy_entry() failed", filename); } } @@ -234,29 +245,30 @@ } int -add_acl(acl_t acl, uint entry_number, acl_t *prev_acl) +add_acl(acl_t acl, uint entry_number, acl_t *prev_acl, const char *filename) { acl_entry_t entry, entry_new; acl_t acl_new; int entry_id, acl_brand; if (acl_type != ACL_TYPE_NFS4) { - warnx("The '-a' option is only applicable to NFS4 ACLs"); + warnx("%s: the '-a' option is only applicable to NFS4 ACLs", + filename); return (-1); } acl_get_brand_np(acl, &acl_brand); if (acl_brand != ACL_BRAND_NFS4) { - warnx("branding mismatch; existing ACL is %s, " - "entry to be added is NFS4", + warnx("%s: branding mismatch; existing ACL is %s, " + "entry to be added is NFS4", filename, acl_brand == ACL_BRAND_NFS4 ? "NFS4" : "POSIX"); return (-1); } acl_new = acl_dup(prev_acl[ACCESS_ACL]); if (acl_new == NULL) - err(1, "acl_dup() failed"); + err(1, "%s: acl_dup() failed", filename); entry_id = ACL_FIRST_ENTRY; @@ -264,7 +276,10 @@ entry_id = ACL_NEXT_ENTRY; if (acl_create_entry_np(&acl_new, &entry_new, entry_number) == -1) { - warnx("acl_create_entry_np() failed"); + if (entry_number >= (uint)acl_new->ats_acl.acl_cnt) + warnx("%s: invalid entry number", filename); + else + warn("%s: acl_create_entry_np() failed", filename); acl_free(acl_new); return (-1); } @@ -278,7 +293,7 @@ entry_number++; if (acl_copy_entry(entry_new, entry) == -1) - err(1, "acl_copy_entry() failed"); + err(1, "%s: acl_copy_entry() failed", filename); } acl_free(prev_acl[ACCESS_ACL]); ==== //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/remove.c#5 (text+ko) ==== @@ -41,7 +41,7 @@ * remove ACL entries from an ACL */ int -remove_acl(acl_t acl, acl_t *prev_acl) +remove_acl(acl_t acl, acl_t *prev_acl, const char *filename) { acl_entry_t entry; acl_t acl_new; @@ -54,8 +54,8 @@ acl_get_brand_np(prev_acl[0], &prev_acl_brand); if (acl_brand != prev_acl_brand) { - warnx("branding mismatch; existing ACL is %s, " - "entry to be removed is %s", + warnx("%s: branding mismatch; existing ACL is %s, " + "entry to be removed is %s", filename, prev_acl_brand == ACL_BRAND_NFS4 ? "NFS4" : "POSIX", acl_brand == ACL_BRAND_NFS4 ? "NFS4" : "POSIX"); return (-1); @@ -68,7 +68,7 @@ else acl_new = acl_dup(prev_acl[DEFAULT_ACL]); if (acl_new == NULL) - err(1, "acl_dup() failed"); + err(1, "%s: acl_dup() failed", filename); tag = ACL_UNDEFINED_TAG; @@ -77,12 +77,13 @@ while (acl_get_entry(acl, entry_id, &entry) == 1) { entry_id = ACL_NEXT_ENTRY; if (acl_get_tag_type(entry, &tag) == -1) - err(1, "acl_get_tag_type() failed"); + err(1, "%s: acl_get_tag_type() failed", filename); if (tag == ACL_MASK) have_mask++; if (acl_delete_entry(acl_new, entry) == -1) { carried_error++; - warnx("cannot remove non-existent acl entry"); + warnx("%s: cannot remove non-existent ACL entry", + filename); } } @@ -101,7 +102,7 @@ } int -remove_by_number(uint entry_number, acl_t *prev_acl) +remove_by_number(uint entry_number, acl_t *prev_acl, const char *filename) { acl_entry_t entry; acl_t acl_new; @@ -116,7 +117,7 @@ else acl_new = acl_dup(prev_acl[DEFAULT_ACL]); if (acl_new == NULL) - err(1, "acl_dup() failed"); + err(1, "%s: acl_dup() failed", filename); tag = ACL_UNDEFINED_TAG; @@ -133,14 +134,18 @@ if (i != entry_number) continue; if (acl_get_tag_type(entry, &tag) == -1) - err(1, "acl_get_tag_type() failed"); + err(1, "%s: acl_get_tag_type() failed", filename); if (tag == ACL_MASK) have_mask++; } if (acl_delete_entry_np(acl_new, entry_number) == -1) { carried_error++; - warnx("cannot remove non-existent acl entry"); + + if (entry_number >= (uint)acl_new->ats_acl.acl_cnt) + warnx("%s: invalid entry number", filename); + else + warn("%s: acl_delete_entry_np() failed", filename); } if (acl_type == ACL_TYPE_ACCESS || acl_type == ACL_TYPE_NFS4) { @@ -161,16 +166,16 @@ * remove default entries */ int -remove_default(acl_t *prev_acl) +remove_default(acl_t *prev_acl, const char *filename) { if (prev_acl[1]) { acl_free(prev_acl[1]); prev_acl[1] = acl_init(ACL_MAX_ENTRIES); if (prev_acl[1] == NULL) - err(1, "acl_init() failed"); + err(1, "%s: acl_init() failed", filename); } else { - warn("cannot remove default ACL"); + warn("%s: cannot remove default ACL", filename); return (-1); } return (0); @@ -180,7 +185,7 @@ * remove extended entries */ void -remove_ext(acl_t *prev_acl) +remove_ext(acl_t *prev_acl, const char *filename) { acl_t acl_new, acl_old; @@ -191,7 +196,7 @@ acl_new = acl_strip_np(acl_old, !n_flag); if (acl_new == NULL) - err(1, "acl_strip_np() failed"); + err(1, "%s: acl_strip_np() failed", filename); if (acl_type == ACL_TYPE_ACCESS || acl_type == ACL_TYPE_NFS4) { acl_free(prev_acl[ACCESS_ACL]); ==== //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/setfacl.c#7 (text+ko) ==== @@ -67,7 +67,7 @@ int type; if (stat(filename, &sb) == -1) { - warn("stat() of %s failed", filename); + warn("%s: stat() failed", filename); return (NULL); } @@ -82,7 +82,7 @@ else acl[ACCESS_ACL] = acl_get_file(filename, type); if (acl[ACCESS_ACL] == NULL) - err(1, "acl_get_file() failed"); + err(1, "%s: acl_get_file() failed", filename); if (S_ISDIR(sb.st_mode) && type != ACL_TYPE_NFS4) { if (h_flag) acl[DEFAULT_ACL] = acl_get_link_np(filename, @@ -91,7 +91,7 @@ acl[DEFAULT_ACL] = acl_get_file(filename, ACL_TYPE_DEFAULT); if (acl[DEFAULT_ACL] == NULL) - err(1, "acl_get_file() failed"); + err(1, "%s: acl_get_file() failed", filename); } else acl[DEFAULT_ACL] = NULL; @@ -131,7 +131,7 @@ entry = zmalloc(sizeof(struct sf_entry)); entry->acl = get_acl_from_file(optarg); if (entry->acl == NULL) - err(1, "get_acl_from_file() failed"); + err(1, "%s: get_acl_from_file() failed", optarg); entry->op = OP_MERGE_ACL; TAILQ_INSERT_TAIL(&entrylist, entry, next); break; @@ -146,13 +146,13 @@ entry_number = strtol(optarg, &end, 10); if (end - optarg != (int)strlen(optarg)) - errx(1, "%s: Invalid entry number", optarg); + errx(1, "%s: invalid entry number", optarg); if (entry_number < 0) - errx(1, "%s: Entry number cannot be less than zero", optarg); + errx(1, "%s: entry number cannot be less than zero", optarg); entry->entry_number = entry_number; if (argv[optind] == NULL) - errx(1, "Missing ACL"); + errx(1, "missing ACL"); entry->acl = acl_from_text(argv[optind]); if (entry->acl == NULL) err(1, "%s", argv[optind]); @@ -192,7 +192,7 @@ entry_number = strtol(optarg, &end, 10); if (end - optarg == (int)strlen(optarg)) { if (entry_number < 0) - errx(1, "%s: Entry number cannot be less than zero", optarg); + errx(1, "%s: entry number cannot be less than zero", optarg); entry->entry_number = entry_number; entry->op = OP_REMOVE_BY_NUMBER; } else { @@ -239,9 +239,9 @@ continue; if ((acl_type == ACL_TYPE_DEFAULT) && !acl[1]) { if (pathconf(file->filename, _PC_EXTENDED_SECURITY_NP)) - warnx("there are no default entries in NFS4 ACLs: %s", file->filename); + warnx("%s: there are no default entries in NFS4 ACLs", file->filename); else - warnx("default ACL not valid for %s", file->filename); + warnx("%s: default ACL not valid", file->filename); continue; } @@ -259,35 +259,41 @@ switch(entry->op) { case OP_ADD_ACL: - local_error += add_acl(entry->acl, entry->entry_number, acl); + local_error += add_acl(entry->acl, + entry->entry_number, acl, file->filename); break; case OP_MERGE_ACL: - local_error += merge_acl(entry->acl, acl); + local_error += merge_acl(entry->acl, acl, + file->filename); need_mask = 1; break; case OP_REMOVE_EXT: - remove_ext(acl); + remove_ext(acl, file->filename); need_mask = 0; break; case OP_REMOVE_DEF: if (acl_type == ACL_TYPE_NFS4) { - warnx("there are no default entries in NFS4 ACLs; cannot remove"); + warnx("%s: there are no default entries in NFS4 ACLs; " + "cannot remove", file->filename); local_error++; break; } if (acl_delete_def_file(file->filename) == -1) { - warn("acl_delete_def_file() failed"); + warn("%s: acl_delete_def_file() failed", + file->filename); local_error++; } - local_error += remove_default(acl); + local_error += remove_default(acl, file->filename); need_mask = 0; break; case OP_REMOVE_ACL: - local_error += remove_acl(entry->acl, acl); + local_error += remove_acl(entry->acl, acl, + file->filename); need_mask = 1; break; case OP_REMOVE_BY_NUMBER: - local_error += remove_by_number(entry->entry_number, acl); + local_error += remove_by_number(entry->entry_number, + acl, file->filename); need_mask = 1; break; } @@ -307,21 +313,21 @@ if (acl_type == ACL_TYPE_NFS4) need_mask = 0; - if (need_mask && (set_acl_mask(&final_acl) == -1)) { - warnx("failed to set ACL mask on %s", file->filename); + if (need_mask && (set_acl_mask(&final_acl, filename) == -1)) { + warnx("%s: failed to set ACL mask", file->filename); carried_error++; } else if (h_flag) { if (acl_set_link_np(file->filename, acl_type, final_acl) == -1) { carried_error++; - warn("acl_set_link_np() failed for %s", + warn("%s: acl_set_link_np() failed", file->filename); } } else { if (acl_set_file(file->filename, acl_type, final_acl) == -1) { carried_error++; - warn("acl_set_file() failed for %s", + warn("%s: acl_set_file() failed", file->filename); } } ==== //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/setfacl.h#4 (text+ko) ==== @@ -64,15 +64,15 @@ /* files.c */ acl_t get_acl_from_file(const char *filename); /* merge.c */ -int merge_acl(acl_t acl, acl_t *prev_acl); -int add_acl(acl_t acl, uint entry_number, acl_t *prev_acl); +int merge_acl(acl_t acl, acl_t *prev_acl, const char *filename); +int add_acl(acl_t acl, uint entry_number, acl_t *prev_acl, const char *filename); /* remove.c */ -int remove_acl(acl_t acl, acl_t *prev_acl); -int remove_by_number(uint entry_number, acl_t *prev_acl); -int remove_default(acl_t *prev_acl); -void remove_ext(acl_t *prev_acl); +int remove_acl(acl_t acl, acl_t *prev_acl, const char *filename); +int remove_by_number(uint entry_number, acl_t *prev_acl, const char *filename); +int remove_default(acl_t *prev_acl, const char *filename); +void remove_ext(acl_t *prev_acl, const char *filename); /* mask.c */ -int set_acl_mask(acl_t *prev_acl); +int set_acl_mask(acl_t *prev_acl, const char *filename); /* util.c */ void *zmalloc(size_t size); From owner-p4-projects@FreeBSD.ORG Thu Aug 7 11:58:44 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 825361065677; Thu, 7 Aug 2008 11:58:44 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4697D106564A for ; Thu, 7 Aug 2008 11:58:44 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3540B8FC1B for ; Thu, 7 Aug 2008 11:58:44 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m77BwiBh031550 for ; Thu, 7 Aug 2008 11:58:44 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m77BwiQ6031548 for perforce@freebsd.org; Thu, 7 Aug 2008 11:58:44 GMT (envelope-from trasz@freebsd.org) Date: Thu, 7 Aug 2008 11:58:44 GMT Message-Id: <200808071158.m77BwiQ6031548@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 146832 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: Thu, 07 Aug 2008 11:58:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=146832 Change 146832 by trasz@trasz_traszkan on 2008/08/07 11:58:23 Minor tweak for getfacl(1) error messages. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/bin/getfacl/getfacl.c#9 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/bin/getfacl/getfacl.c#9 (text+ko) ==== @@ -187,7 +187,7 @@ else error = stat(path, &sb); if (error == -1) { - warn("%s", path); + warn("%s: stat() failed", path); return(-1); } @@ -217,7 +217,7 @@ return(0); acl = acl_from_stat(sb); if (!acl) { - warn("acl_from_stat()"); + warn("%s: acl_from_stat() failed", path); return(-1); } } @@ -230,7 +230,7 @@ acl_text = acl_to_text_np(acl, 0, flags); if (!acl_text) { - warn("%s", path); + warn("%s: acl_to_text_np() failed", path); return(-1); } From owner-p4-projects@FreeBSD.ORG Thu Aug 7 12:35:21 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C5FD51065675; Thu, 7 Aug 2008 12:35:21 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8A38E106564A for ; Thu, 7 Aug 2008 12:35:21 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6D7CA8FC12 for ; Thu, 7 Aug 2008 12:35:21 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m77CZL6h035794 for ; Thu, 7 Aug 2008 12:35:21 GMT (envelope-from remko@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m77CZLIp035792 for perforce@freebsd.org; Thu, 7 Aug 2008 12:35:21 GMT (envelope-from remko@freebsd.org) Date: Thu, 7 Aug 2008 12:35:21 GMT Message-Id: <200808071235.m77CZLIp035792@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to remko@freebsd.org using -f From: Remko Lodder To: Perforce Change Reviews Cc: Subject: PERFORCE change 146834 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: Thu, 07 Aug 2008 12:35:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=146834 Change 146834 by remko@remko_nakur on 2008/08/07 12:34:31 More work in progress Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/faq/book.sgml#10 edit .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/config/chapter.sgml#3 edit Differences ... ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/faq/book.sgml#10 (text+ko) ==== @@ -1265,21 +1265,20 @@ gemaakt wordt van FTP. Sommige FTP programma's hebben standaard de - instellingwanneer er gebruik - gemaakt wordt van - Some FTP clients default their transfer mode to - ascii and attempt to change any - end-of-line characters received to match the conventions - used by the client's system. This will almost - invariably corrupt the boot image. Check the size of - the downloaded boot image: if it is not - exactly that on the server, then - the download process is suspect. + instelling om als overdrachts mode + asciii te gebruiken en proberen + alle regel einde tekens die ontvangen worden te + vervangen door de conventies van het client systeem. + Dit zal vrijwel zeker de opstart image corrupt maken. + Controleer de grootte van de gedownloade opstart image, + als deze niet precies net zo groot + is als op de server, is de download potentieel + mislukt. - To workaround: type binary at - the FTP command prompt after getting connected to the - server and before starting the download of the - image. + Om hierom heen te werken type: + binary op de FTP commando prompt + nadat de verbinding actief is en voordat de download + gestart wordt. ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/config/chapter.sgml#3 (text+ko) ==== @@ -2,8 +2,9 @@ The FreeBSD Dutch Documentation Project $FreeBSD: doc/nl_NL.ISO8859-1/books/handbook/config/chapter.sgml,v 1.14 2007/12/25 23:37:42 remko Exp $ - $FreeBSDnl: doc/nl_NL.ISO8859-1/books/handbook/config/chapter.sgml,v 1.85 2006/01/05 21:13:20 siebrand Exp $ - Gebaseerd op: 1.228 + + %SOURCE% en_US.ISO8859-1/ooks/handbook/config/chapter.sgml + %SRCID% 1.233 --> @@ -403,13 +404,12 @@ alle gevallen voldoet een script nieuwe stijl. - Elk script moet een .sh toegevoegd - hebben aan het einde en elk script moet opstartbaar zijn door - het systeem. Het laatstgenoemde kan bereikt worden met - chmod en door het zetten van de rechten - 755. Er zouden ook minimaal de opties - start en stop moeten zijn - voor de applicatie. + Elk script moet uitvoerbaar zijn door het systeem; dit + wordt meestal bereikt door gebruik te maken van het commando + chmod en het instellen van de unieke + permissies 555. Op zijn minst moeten ook + de start en stop opties + zijn om de applicatie te starten en te stoppen. Het simpelste opstartscript ziet er waarschijnlijk als volgt uit: @@ -438,7 +438,7 @@ Dit kan handmatig gestart worden met: - &prompt.root; /usr/local/etc/rc.d/utility.sh start + &prompt.root; /usr/local/etc/rc.d/utility start Hoewel niet alle software van derden een regel nodig heeft in /etc/rc.conf, wordt er bijna elke @@ -836,9 +836,11 @@ ingevoegd in het commentaar bovenaan het opstartscript. Deze commentaarregels worden vervolgens tijdens de systeemstart met &man.rcorder.8; verwerkt om zo vast te stellen in welke - volgorde de systeemdiensten gestart moeten worden. De volgende - sleutelwoorden kunnen worden opgenomen aan het begin van elk - opstartscript: + volgorde de systeemdiensten gestart moeten worden. + + De volgende woorden moeten in alle opstartscripts staan + (ze zijn benodigd door &man.rc.subr.8; om het opstart + script te activeren)>: From owner-p4-projects@FreeBSD.ORG Thu Aug 7 13:41:29 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2EF7E1065674; Thu, 7 Aug 2008 13:41:29 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CE2541065673 for ; Thu, 7 Aug 2008 13:41:28 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BAE5B8FC0A for ; Thu, 7 Aug 2008 13:41:28 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m77DfSIH051429 for ; Thu, 7 Aug 2008 13:41:28 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m77DfSI3051427 for perforce@freebsd.org; Thu, 7 Aug 2008 13:41:28 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 7 Aug 2008 13:41:28 GMT Message-Id: <200808071341.m77DfSI3051427@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 146837 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: Thu, 07 Aug 2008 13:41:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=146837 Change 146837 by hselasky@hselasky_laptop001 on 2008/08/07 13:41:14 Fixes and improvements to the Linux USB compat layer. Has been tested and found to work. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_compat_linux.c#8 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_compat_linux.c#8 (text+ko) ==== @@ -28,6 +28,9 @@ #include #include #include +#include + +#define USB_DEBUG_VAR usb2_debug #include #include @@ -38,6 +41,8 @@ #include #include #include +#include +#include struct usb_linux_softc { LIST_ENTRY(usb_linux_softc) sc_attached_list; @@ -62,12 +67,13 @@ static usb_complete_t usb_linux_wait_complete; static uint16_t usb_max_isoc_frames(struct usb_device *dev); -static int usb_start_wait_urb(struct urb *urb, uint32_t timeout, uint32_t *p_actlen); +static int usb_start_wait_urb(struct urb *urb, uint32_t timeout, uint16_t *p_actlen); static const struct usb_device_id *usb_linux_lookup_id(const struct usb_device_id *id, struct usb2_attach_arg *uaa); static struct usb_driver *usb_linux_get_usb_driver(struct usb_linux_softc *sc); static struct usb_device *usb_linux_create_usb_device(struct usb2_device *udev, device_t dev); static void usb_linux_cleanup_interface(struct usb_device *dev, struct usb_interface *iface); static void usb_linux_complete(struct usb2_xfer *xfer); +static int usb_unlink_urb_sub(struct urb *urb, uint8_t drain); /*------------------------------------------------------------------------* * FreeBSD USB interface @@ -437,12 +443,35 @@ * * This function is used to stop an URB after that it is been * submitted, but before the "complete" callback has been called. On - * FreeBSD this function is always non-blocking, and will always call - * the "complete" callback with an error before it returns. *------------------------------------------------------------------------*/ int usb_unlink_urb(struct urb *urb) { + return (usb_unlink_urb_sub(urb, 0)); +} + +static void +usb_unlink_bsd(struct usb2_xfer *xfer, + struct urb *urb, uint8_t drain) +{ + if (xfer && + usb2_transfer_pending(xfer) && + (xfer->priv_fifo == (void *)urb)) { + if (drain) { + mtx_unlock(&Giant); + usb2_transfer_drain(xfer); + mtx_lock(&Giant); + } else { + usb2_transfer_stop(xfer); + } + usb2_transfer_start(xfer); + } + return; +} + +static int +usb_unlink_urb_sub(struct urb *urb, uint8_t drain) +{ struct usb_host_endpoint *uhe; uint16_t x; @@ -479,17 +508,8 @@ * If so, re-start that transfer, which will lead to the * termination of that URB: */ - - if (uhe->bsd_xfer[0] && - (uhe->bsd_xfer[0]->priv_fifo == (void *)urb)) { - usb2_transfer_stop(uhe->bsd_xfer[0]); - usb2_transfer_start(uhe->bsd_xfer[0]); - } - if (uhe->bsd_xfer[1] && - (uhe->bsd_xfer[1]->priv_fifo == (void *)urb)) { - usb2_transfer_stop(uhe->bsd_xfer[1]); - usb2_transfer_start(uhe->bsd_xfer[1]); - } + usb_unlink_bsd(uhe->bsd_xfer[0], urb, drain); + usb_unlink_bsd(uhe->bsd_xfer[1], urb, drain); } return (0); } @@ -539,7 +559,7 @@ * Linux USB transfers. *------------------------------------------------------------------------*/ static int -usb_start_wait_urb(struct urb *urb, uint32_t timeout, uint32_t *p_actlen) +usb_start_wait_urb(struct urb *urb, uint32_t timeout, uint16_t *p_actlen) { int err; @@ -564,8 +584,6 @@ urb->transfer_flags |= URB_IS_SLEEPING; usb2_cv_wait(&(urb->cv_wait), &Giant); urb->transfer_flags &= ~URB_IS_SLEEPING; - if (err) - goto done; } err = urb->status; @@ -596,48 +614,51 @@ int usb_control_msg(struct usb_device *dev, struct usb_host_endpoint *uhe, uint8_t request, uint8_t requesttype, - uint16_t value, uint16_t index, void *data, uint16_t size, uint32_t timeout) + uint16_t value, uint16_t index, void *data, + uint16_t size, uint32_t timeout) { + struct usb2_device_request req; struct urb *urb; - struct usb2_device_request *req; - struct usb_host_endpoint *uhe_write; - struct usb_host_endpoint *uhe_read; - uint32_t actlen; int err; + uint16_t actlen; uint8_t type; uint8_t addr; + req.bmRequestType = requesttype; + req.bRequest = request; + USETW(req.wValue, value); + USETW(req.wIndex, index); + USETW(req.wLength, size); + if (uhe == NULL) { return (-EINVAL); } type = (uhe->desc.bmAttributes & UE_XFERTYPE); addr = (uhe->desc.bEndpointAddress & UE_ADDR); - /* - * The FreeBSD USB stack supports standard control transfers on - * control endpoints only. For the other two endpoint types we need - * special handling. Check the endpoint type: - */ - if (type == UE_CONTROL) { - uhe_write = NULL; - uhe_read = NULL; - } else { - if (type == UE_ISOCHRONOUS) { - return (-EINVAL); - } - uhe_write = usb_find_host_endpoint(dev, type, addr | UE_DIR_OUT); - if (uhe_write == NULL) { - return (-EINVAL); - } - if (requesttype & UT_READ) { - uhe_read = usb_find_host_endpoint(dev, type, addr | UE_DIR_IN); - if (uhe_read == NULL) { - return (-EINVAL); - } + if (type != UE_CONTROL) { + return (-EINVAL); + } + if (addr == 0) { + /* + * The FreeBSD USB stack supports standard control + * transfers on control endpoint zero: + */ + err = usb2_do_request_flags(dev->bsd_udev, + &Giant, &req, data, USB_SHORT_XFER_OK, + &actlen, timeout); + if (err) { + err = -EPIPE; } else { - uhe_read = NULL; + err = actlen; } + return (err); } + if (dev->bsd_udev->flags.usb2_mode != USB_MODE_HOST) { + /* not supported */ + return (-EINVAL); + } + err = usb_setup_endpoint(dev, uhe, 1 /* dummy */ ); /* * NOTE: we need to allocate real memory here so that we don't @@ -650,58 +671,21 @@ return (-ENOMEM); urb->dev = dev; + urb->pipe = uhe; - req = (void *)(urb->setup_packet); + bcopy(&req, urb->setup_packet, sizeof(req)); - req->bmRequestType = requesttype; - req->bRequest = request; - USETW(req->wValue, value); - USETW(req->wIndex, index); - USETW(req->wLength, size); - - if (size && (req->bmRequestType & UT_WRITE)) { + if (size && (!(req.bmRequestType & UT_READ))) { /* move the data to a real buffer */ - bcopy(data, req + 1, size); + bcopy(data, USB_ADD_BYTES(urb->setup_packet, + sizeof(req)), size); } - if (type == UE_CONTROL) { - urb->pipe = uhe; - err = usb_start_wait_urb(urb, timeout, &actlen); - } else { - urb->pipe = uhe_write; - urb->transfer_buffer = urb->setup_packet; - urb->transfer_buffer_length = sizeof(*req); + err = usb_start_wait_urb(urb, timeout, &actlen); - err = usb_start_wait_urb(urb, 1000, &actlen); - if (err) { - goto done; - } - if (actlen < sizeof(*req)) { - err = -EPIPE; - actlen = 0; - goto done; - } - if (size) { - if (req->bmRequestType & UT_READ) { - urb->pipe = uhe_read; - } - urb->transfer_buffer = req + 1; - urb->transfer_buffer_length = size; - - err = usb_start_wait_urb(urb, timeout, &actlen); - if (err) { - goto done; - } - } - } - -done: - if (req->bmRequestType & UT_READ) { - if (actlen < size) { - /* we don't like returning random data */ - bzero(((uint8_t *)data) + actlen, size - actlen); - } + if (req.bmRequestType & UT_READ) { if (actlen) { - bcopy(req + 1, data, actlen); + bcopy(USB_ADD_BYTES(urb->setup_packet, + sizeof(req)), data, actlen); } } usb_free_urb(urb); @@ -751,7 +735,8 @@ * size on "wMaxPacketSize". *------------------------------------------------------------------------*/ int -usb_setup_endpoint(struct usb_device *dev, struct usb_host_endpoint *uhe, uint32_t bufsize) +usb_setup_endpoint(struct usb_device *dev, + struct usb_host_endpoint *uhe, uint32_t bufsize) { struct usb2_config cfg[2]; uint8_t type = uhe->desc.bmAttributes & UE_XFERTYPE; @@ -962,12 +947,6 @@ sizeof(p_ud->descriptor)); bcopy(udev->default_pipe.edesc, &(p_ud->ep0.desc), sizeof(p_ud->ep0.desc)); - - if (usb_setup_endpoint(p_ud, &(p_ud->ep0), 1024 /* bytes */ )) { - usb_linux_free_device(p_ud); - p_ud = NULL; - goto done; - } } } done: @@ -1007,7 +986,6 @@ urb->setup_packet = (void *)(urb + 1); urb->transfer_buffer = (void *)(urb->setup_packet + sizeof(struct usb2_device_request)); - urb->transfer_buffer_length = mem_flags; } else { urb->number_of_packets = iso_packets; } @@ -1058,7 +1036,6 @@ for (uhe = uhi->endpoint; uhe != uhe_end; uhe++) { - ea = uhe->desc.bEndpointAddress; at = uhe->desc.bmAttributes; @@ -1264,9 +1241,9 @@ void usb_kill_urb(struct urb *urb) { - int err; - - err = usb_unlink_urb(urb); + if (usb_unlink_urb_sub(urb, 1)) { + /* ignore */ + } return; } @@ -1362,6 +1339,8 @@ struct usb_host_endpoint *uhe = xfer->priv_sc; struct usb_iso_packet_descriptor *uipd; + DPRINTF("\n"); + switch (USB_GET_STATE(xfer)) { case USB_ST_TRANSFERRED: @@ -1423,12 +1402,13 @@ TAILQ_REMOVE(&(uhe->bsd_urb_list), urb, bsd_urb_list); urb->bsd_urb_list.tqe_prev = NULL; - x = usb_max_isoc_frames(urb->dev); + x = xfer->max_frame_count; if (urb->number_of_packets > x) { /* XXX simply truncate the transfer */ urb->number_of_packets = x; } } else { + DPRINTF("Already got a transfer\n"); /* already got a transfer (should not happen) */ urb = xfer->priv_fifo; @@ -1525,19 +1505,17 @@ }; struct urb *urb = xfer->priv_fifo; struct usb_host_endpoint *uhe = xfer->priv_sc; + uint8_t *ptr; uint32_t max_bulk = xfer->max_data_length; uint8_t data_frame = xfer->flags_int.control_xfr ? 1 : 0; + DPRINTF("\n"); + switch (USB_GET_STATE(xfer)) { case USB_ST_TRANSFERRED: if (xfer->flags_int.control_xfr) { - /* sanity check - should not happen */ - - if (xfer->aframes < xfer->nframes) { - goto tr_error; - } /* don't transfer the setup packet again: */ xfer->frlengths[0] = 0; @@ -1562,7 +1540,6 @@ urb->status = 0; } } else { - /* check remainder */ if (urb->bsd_length_rem > 0) { goto setup_bulk; @@ -1576,7 +1553,6 @@ case USB_ST_SETUP: tr_setup: - /* get next transfer */ urb = TAILQ_FIRST(&(uhe->bsd_urb_list)); if (urb == NULL) { @@ -1607,18 +1583,21 @@ xfer->frlengths[0] = REQ_SIZE; - /* setup data transfer direction */ + ptr = urb->setup_packet; - urb->bsd_isread = (((uint8_t *)(urb->setup_packet))[0] & UT_READ) ? 1 : 0; + /* setup data transfer direction and length */ + urb->bsd_isread = (ptr[0] & UT_READ) ? 1 : 0; + urb->bsd_length_rem = ptr[6] | (ptr[7] << 8); } else { /* setup data transfer direction */ - urb->bsd_isread = (uhe->desc.bEndpointAddress & UE_DIR_IN) ? 1 : 0; + urb->bsd_length_rem = urb->transfer_buffer_length; + urb->bsd_isread = (uhe->desc.bEndpointAddress & + UE_DIR_IN) ? 1 : 0; } - urb->bsd_length_rem = urb->transfer_buffer_length; urb->bsd_data_ptr = urb->transfer_buffer; urb->actual_length = 0; @@ -1658,7 +1637,6 @@ return; default: -tr_error: if (xfer->error == USB_ERR_CANCELLED) { urb->status = -ECONNRESET; } else { @@ -1676,6 +1654,5 @@ return; } goto tr_setup; - } } From owner-p4-projects@FreeBSD.ORG Thu Aug 7 13:50:38 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 72954106566C; Thu, 7 Aug 2008 13:50:38 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 35AFF1065678 for ; Thu, 7 Aug 2008 13:50:38 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 239288FC0A for ; Thu, 7 Aug 2008 13:50:38 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m77DocD0052135 for ; Thu, 7 Aug 2008 13:50:38 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m77DocrN052133 for perforce@freebsd.org; Thu, 7 Aug 2008 13:50:38 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 7 Aug 2008 13:50:38 GMT Message-Id: <200808071350.m77DocrN052133@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 146838 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: Thu, 07 Aug 2008 13:50:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=146838 Change 146838 by hselasky@hselasky_laptop001 on 2008/08/07 13:50:30 The next USB transfer is already started in "usb2_callback_wrapper_sub". Remove duplicate code. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_transfer.c#18 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_transfer.c#18 (text+ko) ==== @@ -1926,7 +1926,6 @@ usb2_transfer_done(struct usb2_xfer *xfer, usb2_error_t error) { struct usb2_xfer_queue *pq; - uint8_t block; mtx_assert(xfer->usb2_mtx, MA_OWNED); @@ -1966,26 +1965,6 @@ usb2_command_wrapper(pq, NULL); } } - /* figure out if this pipe should be blocked */ - block = (xfer->error && - (xfer->error != USB_ERR_CANCELLED) && - (xfer->flags.pipe_bof)); - - if (!block) { - pq = &(xfer->pipe->pipe_q); - if (pq->curr == xfer) { - /* start the next USB transfer, if any */ - usb2_command_wrapper(pq, NULL); - - if (pq->curr || TAILQ_FIRST(&(pq->head))) { - /* there is another USB transfer waiting */ - } else { - /* this is the last USB transfer */ - /* clear isochronous sync flag */ - xfer->pipe->is_synced = 0; - } - } - } /* keep some statistics */ if (xfer->error) { xfer->udev->bus->stats_err.uds_requests @@ -2345,6 +2324,14 @@ */ if (pipe->pipe_q.curr == xfer) { usb2_command_wrapper(&(pipe->pipe_q), NULL); + + if (pipe->pipe_q.curr || TAILQ_FIRST(&(pipe->pipe_q.head))) { + /* there is another USB transfer waiting */ + } else { + /* this is the last USB transfer */ + /* clear isochronous sync flag */ + xfer->pipe->is_synced = 0; + } } done: return (0); @@ -2360,6 +2347,10 @@ usb2_command_wrapper(struct usb2_xfer_queue *pq, struct usb2_xfer *xfer) { if (xfer) { + /* + * If the transfer is not already processing, + * queue it! + */ if (pq->curr != xfer) { usb2_transfer_enqueue(pq, xfer); if (pq->curr != NULL) { From owner-p4-projects@FreeBSD.ORG Thu Aug 7 13:53:42 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 06FFB106567B; Thu, 7 Aug 2008 13:53:42 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BE66E1065672 for ; Thu, 7 Aug 2008 13:53:41 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 91BD58FC25 for ; Thu, 7 Aug 2008 13:53:41 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m77DrfAg052350 for ; Thu, 7 Aug 2008 13:53:41 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m77Drf45052348 for perforce@freebsd.org; Thu, 7 Aug 2008 13:53:41 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 7 Aug 2008 13:53:41 GMT Message-Id: <200808071353.m77Drf45052348@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 146839 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: Thu, 07 Aug 2008 13:53:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=146839 Change 146839 by hselasky@hselasky_laptop001 on 2008/08/07 13:53:02 We only need the videodev.h file to support Video4Linux 2. Correct an include file. Affected files ... .. //depot/projects/usb/src/sys/sys/videodev.h#6 edit .. //depot/projects/usb/src/sys/sys/videokern.h#6 delete Differences ... ==== //depot/projects/usb/src/sys/sys/videodev.h#6 (text+ko) ==== @@ -40,7 +40,7 @@ #ifndef _SYS_VIDEODEV_H_ #define _SYS_VIDEODEV_H_ -#include +#include #include #if !defined(__user) From owner-p4-projects@FreeBSD.ORG Thu Aug 7 14:04:53 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 198D01065677; Thu, 7 Aug 2008 14:04:53 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D2129106564A for ; Thu, 7 Aug 2008 14:04:52 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BFD858FC37 for ; Thu, 7 Aug 2008 14:04:52 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m77E4qt4054283 for ; Thu, 7 Aug 2008 14:04:52 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m77E4qdm054281 for perforce@freebsd.org; Thu, 7 Aug 2008 14:04:52 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 7 Aug 2008 14:04:52 GMT Message-Id: <200808071404.m77E4qdm054281@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 146840 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: Thu, 07 Aug 2008 14:04:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=146840 Change 146840 by hselasky@hselasky_laptop001 on 2008/08/07 14:04:34 Print out a nice line showing the USB symlinks by default until the new "usbview" is finished. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_dev.c#22 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_dev.c#22 (text+ko) ==== @@ -91,8 +91,10 @@ static fo_rdwr_t usb2_read_f; static fo_rdwr_t usb2_write_f; + #if __FreeBSD_version > 800009 static fo_truncate_t usb2_truncate_f; + #endif static fo_ioctl_t usb2_ioctl_f; static fo_poll_t usb2_poll_f; @@ -1610,6 +1612,7 @@ { return (vnops.fo_truncate(fp, length, cred, td)); } + #endif /* ARGSUSED */ @@ -2001,7 +2004,7 @@ f_tx->symlink[n / 2] = usb2_alloc_symlink(src, "%s", buf); } - DPRINTF("Symlink: %s -> %s\n", buf, src); + printf("Symlink: %s -> %s\n", buf, src); } DPRINTFN(2, "attached %p/%p\n", f_tx, f_rx); From owner-p4-projects@FreeBSD.ORG Thu Aug 7 15:59:30 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 64B4A1065672; Thu, 7 Aug 2008 15:59:30 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0971C106564A; Thu, 7 Aug 2008 15:59:30 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (bigknife-pt.tunnel.tserv9.chi1.ipv6.he.net [IPv6:2001:470:1f10:75::2]) by mx1.freebsd.org (Postfix) with ESMTP id 97B058FC15; Thu, 7 Aug 2008 15:59:29 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from localhost.corp.yahoo.com (john@localhost [IPv6:::1]) (authenticated bits=0) by server.baldwin.cx (8.14.2/8.14.2) with ESMTP id m77FxNPm017625; Thu, 7 Aug 2008 11:59:23 -0400 (EDT) (envelope-from jhb@freebsd.org) From: John Baldwin To: Hans Petter Selasky Date: Thu, 7 Aug 2008 10:16:42 -0400 User-Agent: KMail/1.9.7 References: <200807011103.m61B3x2b079270@repoman.freebsd.org> In-Reply-To: <200807011103.m61B3x2b079270@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200808071016.43108.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [IPv6:::1]); Thu, 07 Aug 2008 11:59:23 -0400 (EDT) X-Virus-Scanned: ClamAV 0.93.1/7972/Thu Aug 7 08:22:20 2008 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-2.5 required=4.2 tests=AWL,BAYES_00,NO_RELAYS autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: Perforce Change Reviews Subject: Re: PERFORCE change 144415 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: Thu, 07 Aug 2008 15:59:31 -0000 On Tuesday 01 July 2008 07:03:59 am Hans Petter Selasky wrote: > http://perforce.freebsd.org/chv.cgi?CH=144415 > > Change 144415 by hselasky@hselasky_laptop001 on 2008/07/01 11:03:31 > > > To allow USB drivers using the Giant mutex, like ukbd > and the tty layer (ucom), condition variable functions > like mtx_sleep() and cv_wait() needs to support the Giant > mutex. Previously using the Giant mutex with these functions > resulted in a panic due to an unlock race between the > GIANT_DROP macro and the internal mutex unlock in the > condition variable function. This patch will try to > resolve that race. I'd rather that the sleep and condition variable code just explicitly handle this case rather than changing DROP_GIANT(). > Affected files ... > > .. //depot/projects/usb/src/sys/kern/kern_condvar.c#7 edit > .. //depot/projects/usb/src/sys/kern/kern_synch.c#9 edit > .. //depot/projects/usb/src/sys/sys/mutex.h#8 edit > > Differences ... > > ==== //depot/projects/usb/src/sys/kern/kern_condvar.c#7 (text+ko) ==== > > @@ -123,7 +123,7 @@ > sleepq_lock(cvp); > > cvp->cv_waiters++; > - DROP_GIANT(); > + DROP_GIANT(lock); > > sleepq_add(cvp, lock, cvp->cv_description, SLEEPQ_CONDVAR, 0); > if (class->lc_flags & LC_SLEEPABLE) > @@ -176,7 +176,7 @@ > sleepq_lock(cvp); > > cvp->cv_waiters++; > - DROP_GIANT(); > + DROP_GIANT(lock); > > sleepq_add(cvp, lock, cvp->cv_description, SLEEPQ_CONDVAR, 0); > if (class->lc_flags & LC_SLEEPABLE) > @@ -233,7 +233,7 @@ > sleepq_lock(cvp); > > cvp->cv_waiters++; > - DROP_GIANT(); > + DROP_GIANT(lock); > > sleepq_add(cvp, lock, cvp->cv_description, SLEEPQ_CONDVAR | > SLEEPQ_INTERRUPTIBLE, 0); > @@ -293,7 +293,7 @@ > sleepq_lock(cvp); > > cvp->cv_waiters++; > - DROP_GIANT(); > + DROP_GIANT(lock); > > sleepq_add(cvp, lock, cvp->cv_description, SLEEPQ_CONDVAR, 0); > sleepq_set_timeout(cvp, timo); > @@ -356,7 +356,7 @@ > sleepq_lock(cvp); > > cvp->cv_waiters++; > - DROP_GIANT(); > + DROP_GIANT(lock); > > sleepq_add(cvp, lock, cvp->cv_description, SLEEPQ_CONDVAR | > SLEEPQ_INTERRUPTIBLE, 0); > > ==== //depot/projects/usb/src/sys/kern/kern_synch.c#9 (text+ko) ==== > > @@ -181,7 +181,7 @@ > CTR5(KTR_PROC, "sleep: thread %ld (pid %ld, %s) on %s (%p)", > td->td_tid, p->p_pid, td->td_name, wmesg, ident); > > - DROP_GIANT(); > + DROP_GIANT(lock); > if (lock != NULL && !(class->lc_flags & LC_SLEEPABLE)) { > WITNESS_SAVE(lock, lock_witness); > lock_state = class->lc_unlock(lock); > > ==== //depot/projects/usb/src/sys/sys/mutex.h#8 (text+ko) ==== > > @@ -366,17 +366,44 @@ > * > * Note that DROP_GIANT*() needs to be paired with PICKUP_GIANT() > * The #ifndef is to allow lint-like tools to redefine DROP_GIANT. > + * > + * Note that by default DROP_GIANT takes no argument. Optionally you > + * can specify an argument which explicitly has the name "lock" and > + * type "struct lock_object *". If this "lock" pointer is equal to > + * "&Giant", the DROP_GIANT macro will not do the final drop on the > + * Giant mutex, but expects the calling code to do so. This feature is > + * used by condition variables to allow sleeping on Giant. The > + * condition variable code will then do the final drop! > */ > #ifndef DROP_GIANT > -#define DROP_GIANT() \ > +#define DROP_GIANT(arg) DROP_GIANT_SUB_##arg(arg) > +#define DROP_GIANT_SUB_lock(arg) DROP_GIANT_SUB(arg) /* "lock" argument */ > +#define DROP_GIANT_SUB_(arg) DROP_GIANT_SUB(NULL) /* no argument */ > +#define DROP_GIANT_SUB(lock) \ > do { \ > - int _giantcnt = 0; \ > + unsigned int _giantcnt; \ > WITNESS_SAVE_DECL(Giant); \ > \ > if (mtx_owned(&Giant)) { \ > - WITNESS_SAVE(&Giant.lock_object, Giant); \ > - for (_giantcnt = 0; mtx_owned(&Giant); _giantcnt++) \ > - mtx_unlock(&Giant); \ > + unsigned int _giantn; \ > + if (((void *)(lock)) == ((void *)&Giant)) { \ > + /* special case */ \ > + _giantn = Giant.mtx_recurse; \ > + } else { \ > + /* default case */ \ > + _giantn = Giant.mtx_recurse + 1; \ > + } \ > + if (_giantn != 0) { \ > + WITNESS_SAVE(&Giant.lock_object, Giant); \ > + _giantcnt = _giantn; \ > + do { \ > + mtx_unlock(&Giant); \ > + } while (--_giantn); \ > + } else { \ > + _giantcnt = 0; \ > + } \ > + } else { \ > + _giantcnt = 0; \ > } > > #define PICKUP_GIANT() \ > -- John Baldwin From owner-p4-projects@FreeBSD.ORG Thu Aug 7 16:08:02 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F02801065674; Thu, 7 Aug 2008 16:08:01 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B265F106566C for ; Thu, 7 Aug 2008 16:08:01 +0000 (UTC) (envelope-from hselasky@freebsd.org) Received: from swip.net (mailfe03.swip.net [212.247.154.65]) by mx1.freebsd.org (Postfix) with ESMTP id 468E48FC1F for ; Thu, 7 Aug 2008 16:08:00 +0000 (UTC) (envelope-from hselasky@freebsd.org) X-Cloudmark-Score: 0.000000 [] X-Cloudmark-Analysis: v=1.0 c=1 a=LFJu_T3GCAQA:10 a=6MIg2jpqvhTpo/gR8GzG7Q==:17 a=6I5d2MoRAAAA:8 a=eeyuck70kjWAbqzC8jMA:9 a=MXWzbH4D18Q8ak04QEEA:7 a=5kAl_ymzYO1WhQwFd4CtDLoGuIwA:4 a=LY0hPdMaydYA:10 Received: from [62.113.133.243] (account mc467741@c2i.net [62.113.133.243] verified) by mailfe03.swip.net (CommuniGate Pro SMTP 5.2.6) with ESMTPA id 1038492065; Thu, 07 Aug 2008 18:07:59 +0200 From: Hans Petter Selasky To: John Baldwin Date: Thu, 7 Aug 2008 18:09:40 +0200 User-Agent: KMail/1.9.7 References: <200807011103.m61B3x2b079270@repoman.freebsd.org> <200808071016.43108.jhb@freebsd.org> In-Reply-To: <200808071016.43108.jhb@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200808071809.41042.hselasky@freebsd.org> Cc: Perforce Change Reviews Subject: Re: PERFORCE change 144415 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: Thu, 07 Aug 2008 16:08:02 -0000 On Thursday 07 August 2008, John Baldwin wrote: > On Tuesday 01 July 2008 07:03:59 am Hans Petter Selasky wrote: > > http://perforce.freebsd.org/chv.cgi?CH=144415 > > > > Change 144415 by hselasky@hselasky_laptop001 on 2008/07/01 11:03:31 > > > > > > To allow USB drivers using the Giant mutex, like ukbd > > and the tty layer (ucom), condition variable functions > > like mtx_sleep() and cv_wait() needs to support the Giant > > mutex. Previously using the Giant mutex with these functions > > resulted in a panic due to an unlock race between the > > GIANT_DROP macro and the internal mutex unlock in the > > condition variable function. This patch will try to > > resolve that race. > > I'd rather that the sleep and condition variable code just explicitly > handle this case rather than changing DROP_GIANT(). > Hi, I have implemented a set of wrappers for these functions that handle this. See "src/sys/dev/usb2/core/usb2_util.h" in the USB P4 tree. The files that were changed regarding this issue will not be integrated, though they currently remain in the P4 repository. --HPS From owner-p4-projects@FreeBSD.ORG Thu Aug 7 16:32:22 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3908A1065677; Thu, 7 Aug 2008 16:32:22 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F04091065670 for ; Thu, 7 Aug 2008 16:32:21 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C40028FC15 for ; Thu, 7 Aug 2008 16:32:21 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m77GWL7P068286 for ; Thu, 7 Aug 2008 16:32:21 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m77GWLeS068284 for perforce@freebsd.org; Thu, 7 Aug 2008 16:32:21 GMT (envelope-from gabor@freebsd.org) Date: Thu, 7 Aug 2008 16:32:21 GMT Message-Id: <200808071632.m77GWLeS068284@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 146842 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: Thu, 07 Aug 2008 16:32:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=146842 Change 146842 by gabor@gabor_server on 2008/08/07 16:31:22 - Fix a bug in file reading Reported by: Stuart Barkley Affected files ... .. //depot/projects/soc2008/gabor_textproc/grep/file.c#30 edit Differences ... ==== //depot/projects/soc2008/gabor_textproc/grep/file.c#30 (text+ko) ==== @@ -130,7 +130,10 @@ if (binbehave != BINFILE_TEXT) { for (; i < sizeof(wbinbuf) && !grep_feof(f); i++) { ch = grep_fgetc(f); - binbuf[i] = ch; + if (ch != EOF) + binbuf[i] = ch; + else + break; } binbufsiz = i; binbufptr = binbuf; From owner-p4-projects@FreeBSD.ORG Thu Aug 7 16:44:56 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BD7041065675; Thu, 7 Aug 2008 16:44:56 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7E3971065671; Thu, 7 Aug 2008 16:44:56 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (bigknife-pt.tunnel.tserv9.chi1.ipv6.he.net [IPv6:2001:470:1f10:75::2]) by mx1.freebsd.org (Postfix) with ESMTP id 1A7BD8FC0C; Thu, 7 Aug 2008 16:44:55 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from localhost.corp.yahoo.com (john@localhost [IPv6:::1]) (authenticated bits=0) by server.baldwin.cx (8.14.2/8.14.2) with ESMTP id m77GiioH017978; Thu, 7 Aug 2008 12:44:49 -0400 (EDT) (envelope-from jhb@freebsd.org) From: John Baldwin To: Robert Watson Date: Thu, 7 Aug 2008 12:18:40 -0400 User-Agent: KMail/1.9.7 References: <200808031737.m73HbJO8065922@repoman.freebsd.org> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200808071218.40578.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [IPv6:::1]); Thu, 07 Aug 2008 12:44:50 -0400 (EDT) X-Virus-Scanned: ClamAV 0.93.1/7972/Thu Aug 7 08:22:20 2008 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-2.5 required=4.2 tests=AWL,BAYES_00,NO_RELAYS autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: Perforce Change Reviews , Ed Schouten Subject: Re: PERFORCE change 146544 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: Thu, 07 Aug 2008 16:44:57 -0000 On Sunday 03 August 2008 01:46:38 pm Robert Watson wrote: > > On Sun, 3 Aug 2008, Ed Schouten wrote: > > > http://perforce.freebsd.org/chv.cgi?CH=146544 > > > > Change 146544 by ed@ed_flippo on 2008/08/03 17:36:53 > > > > Add a counter to store the number of null modem devices. > > I've seen similar constructs in lots of drivers, and it's basically an unsafe > construct because the deregister is non-atomic with respect to the busy check. > I wonder if, instead, we should use a mutex to protect the count, and set it > to some value to deny future allocations, such as -1, once the ebusy check is > past... Even that is unideal, though. Yes, you basically need to set a flag of some sort to disable cloning, then go tear down the clone handler. And, yes, you probably should just use a mutex for this (there are tricky games one could play with atomic ops, but given how rare clone and detach happen, it isn't worth the code complexity). -- John Baldwin From owner-p4-projects@FreeBSD.ORG Thu Aug 7 16:45:03 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 412091065684; Thu, 7 Aug 2008 16:45:03 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 03D65106566C; Thu, 7 Aug 2008 16:45:03 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (bigknife-pt.tunnel.tserv9.chi1.ipv6.he.net [IPv6:2001:470:1f10:75::2]) by mx1.freebsd.org (Postfix) with ESMTP id 7855B8FC1D; Thu, 7 Aug 2008 16:45:02 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from localhost.corp.yahoo.com (john@localhost [IPv6:::1]) (authenticated bits=0) by server.baldwin.cx (8.14.2/8.14.2) with ESMTP id m77GiioI017978; Thu, 7 Aug 2008 12:44:55 -0400 (EDT) (envelope-from jhb@freebsd.org) From: John Baldwin To: Hans Petter Selasky Date: Thu, 7 Aug 2008 12:26:20 -0400 User-Agent: KMail/1.9.7 References: <200807011103.m61B3x2b079270@repoman.freebsd.org> <200808071016.43108.jhb@freebsd.org> <200808071809.41042.hselasky@freebsd.org> In-Reply-To: <200808071809.41042.hselasky@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200808071226.20553.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [IPv6:::1]); Thu, 07 Aug 2008 12:44:56 -0400 (EDT) X-Virus-Scanned: ClamAV 0.93.1/7972/Thu Aug 7 08:22:20 2008 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-2.5 required=4.2 tests=AWL,BAYES_00,NO_RELAYS autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: Perforce Change Reviews Subject: Re: PERFORCE change 144415 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: Thu, 07 Aug 2008 16:45:03 -0000 On Thursday 07 August 2008 12:09:40 pm Hans Petter Selasky wrote: > On Thursday 07 August 2008, John Baldwin wrote: > > On Tuesday 01 July 2008 07:03:59 am Hans Petter Selasky wrote: > > > http://perforce.freebsd.org/chv.cgi?CH=144415 > > > > > > Change 144415 by hselasky@hselasky_laptop001 on 2008/07/01 11:03:31 > > > > > > > > > To allow USB drivers using the Giant mutex, like ukbd > > > and the tty layer (ucom), condition variable functions > > > like mtx_sleep() and cv_wait() needs to support the Giant > > > mutex. Previously using the Giant mutex with these functions > > > resulted in a panic due to an unlock race between the > > > GIANT_DROP macro and the internal mutex unlock in the > > > condition variable function. This patch will try to > > > resolve that race. > > > > I'd rather that the sleep and condition variable code just explicitly > > handle this case rather than changing DROP_GIANT(). > > > > Hi, > > I have implemented a set of wrappers for these functions that handle this. > > See "src/sys/dev/usb2/core/usb2_util.h" in the USB P4 tree. > > The files that were changed regarding this issue will not be integrated, > though they currently remain in the P4 repository. Well, the tty stuff and CAM both need to use Giant in this way as well (CAM currently has a local hack in CAM). I can just work on it though. -- John Baldwin From owner-p4-projects@FreeBSD.ORG Thu Aug 7 16:49:39 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A8CB7106568B; Thu, 7 Aug 2008 16:49:39 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6BE43106567F for ; Thu, 7 Aug 2008 16:49:39 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 59B628FC25 for ; Thu, 7 Aug 2008 16:49:39 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m77Gnd5a078893 for ; Thu, 7 Aug 2008 16:49:39 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m77Gndgi078891 for perforce@freebsd.org; Thu, 7 Aug 2008 16:49:39 GMT (envelope-from gabor@freebsd.org) Date: Thu, 7 Aug 2008 16:49:39 GMT Message-Id: <200808071649.m77Gndgi078891@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 146843 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: Thu, 07 Aug 2008 16:49:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=146843 Change 146843 by gabor@gabor_server on 2008/08/07 16:49:07 - Fix -v beaviour - Simplify the -v handling Reported by: Chuck Swiger Affected files ... .. //depot/projects/soc2008/gabor_textproc/grep/util.c#70 edit Differences ... ==== //depot/projects/soc2008/gabor_textproc/grep/util.c#70 (text+ko) ==== @@ -243,14 +243,12 @@ regmatch_t pmatch; regmatch_t matches[MAX_LINE_MATCHES]; regoff_t st = 0; - int c = 0, i, r = 0, m = 0, t; + int c = 0, i, r = 0, m = 0; #ifdef WITH_PCRE int ovector[3]; #endif if (!matchall) { - t = vflag ? REG_NOMATCH : 0; - /* Loop to process the whole line */ while (st <= l->len) { pmatch.rm_so = st; @@ -260,6 +258,7 @@ for (i = 0; i < patterns; i++) { if (grepbehave != GREP_PERL) { r = regexec(&r_pattern[i], l->dat, 1, &pmatch, eflags); + r = (r == 0) ? (vflag ? REG_NOMATCH : 0) : (vflag ? 0 : REG_NOMATCH); st = pmatch.rm_eo; } else { #ifdef WITH_PCRE @@ -271,7 +270,7 @@ ; #endif } - if (r == REG_NOMATCH && t == 0) + if (r == REG_NOMATCH) continue; /* Check for full match */ if (r == 0 && xflag) @@ -290,7 +289,7 @@ r = REG_NOMATCH; free(wbegin); } - if (r == t) { + if (r == 0) { if (m == 0) c++; if (m < MAX_LINE_MATCHES) @@ -313,7 +312,7 @@ return (c); /* Binary file */ /* Dealing with the context */ - if ((tail || (c && !vflag)) && !cflag && !qflag) { + if ((tail || c) && !cflag && !qflag) { if (c) { if (!first && !prev && !tail && Aflag) printf("--\n"); From owner-p4-projects@FreeBSD.ORG Thu Aug 7 17:53:44 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ABB89106566B; Thu, 7 Aug 2008 17:53:44 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6EA9E1065674 for ; Thu, 7 Aug 2008 17:53:44 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5CBEB8FC1E for ; Thu, 7 Aug 2008 17:53:44 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m77HrijZ085091 for ; Thu, 7 Aug 2008 17:53:44 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m77HrirB085089 for perforce@freebsd.org; Thu, 7 Aug 2008 17:53:44 GMT (envelope-from ed@FreeBSD.org) Date: Thu, 7 Aug 2008 17:53:44 GMT Message-Id: <200808071753.m77HrirB085089@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 146845 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: Thu, 07 Aug 2008 17:53:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=146845 Change 146845 by ed@ed_dull on 2008/08/07 17:53:38 Remove the now unused t_threadcnt variable from struct tty. Now we use the safer destroy_dev_sched_cb(), there is no harm to destroy TTY's when threads are still inside the TTY layer through the character devices. Affected files ... .. //depot/projects/mpsafetty/sys/kern/tty.c#16 edit .. //depot/projects/mpsafetty/sys/sys/tty.h#5 edit Differences ... ==== //depot/projects/mpsafetty/sys/kern/tty.c#16 (text+ko) ==== @@ -166,10 +166,9 @@ /* Device is already gone */ tty_unlock(tp); return (ENXIO); - } else { - tp->t_threadcnt++; - return (0); } + + return (0); } static void @@ -177,10 +176,7 @@ { tty_lock_assert(tp, MA_OWNED); - MPASS(tp->t_threadcnt > 0); - tp->t_threadcnt--; - if (tty_opened(tp) || tp->t_threadcnt > 0 || - tp->t_flags & TF_OPENCLOSE) { + if (tty_opened(tp) || tp->t_flags & TF_OPENCLOSE) { /* Device is still opened somewhere */ tty_unlock(tp); return; @@ -245,7 +241,6 @@ tty_unlock(tp); return (EBUSY); } - tp->t_threadcnt++; tp->t_flags |= TF_OPENCLOSE; /* @@ -315,7 +310,6 @@ struct tty *tp = dev->si_drv1; tty_lock(tp); - tp->t_threadcnt++; /* * This can only be called once. The callin and the callout @@ -930,7 +924,7 @@ tty_lock_assert(tp, MA_OWNED); - if (tp->t_sessioncnt != 0 || tp->t_threadcnt != 0 || + if (tp->t_sessioncnt != 0 || (tp->t_flags & (TF_GONE|TF_OPENED)) != TF_GONE) { /* TTY is still in use */ tty_unlock(tp); ==== //depot/projects/mpsafetty/sys/sys/tty.h#5 (text+ko) ==== @@ -79,8 +79,6 @@ #define TF_EXCLUDE 0x1000 /* Exclusive access */ #define TF_BYPASS 0x2000 /* Optimized input path */ #define TF_ZOMBIE 0x4000 /* Modem disconnect received */ - - unsigned int t_threadcnt; /* (t) Threads in cdev */ unsigned int t_revokecnt; /* (t) revoke() count */ /* Buffering mechanisms */ From owner-p4-projects@FreeBSD.ORG Thu Aug 7 18:14:05 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6C9621065671; Thu, 7 Aug 2008 18:14:05 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 31BB9106566C for ; Thu, 7 Aug 2008 18:14:05 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1FC678FC0A for ; Thu, 7 Aug 2008 18:14:05 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m77IE5Lw088081 for ; Thu, 7 Aug 2008 18:14:05 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m77IE4Hv088079 for perforce@freebsd.org; Thu, 7 Aug 2008 18:14:04 GMT (envelope-from ed@FreeBSD.org) Date: Thu, 7 Aug 2008 18:14:04 GMT Message-Id: <200808071814.m77IE4Hv088079@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 146846 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: Thu, 07 Aug 2008 18:14:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=146846 Change 146846 by ed@ed_dull on 2008/08/07 18:13:58 Revert changes to openpty(). There is no real need to trim away the function calls. This still makes libutil work when used with an older kernel + C library from pre-mpsafetty. Affected files ... .. //depot/projects/mpsafetty/lib/libutil/pty.c#2 integrate Differences ... ==== //depot/projects/mpsafetty/lib/libutil/pty.c#2 (text+ko) ==== @@ -60,9 +60,31 @@ if (master == -1) return (-1); - if ((slavename = ptsname(master)) == NULL || - (slave = open(slavename, O_RDWR)) == -1) { + if (grantpt(master) == -1) { + close(master); + return (-1); + } + + slavename = ptsname(master); + if (slavename == NULL) { + close(master); + return (-1); + } + + if (revoke(slavename) == -1) { + close(master); + return (-1); + } + + slave = open(slavename, O_RDWR); + if (slave == -1) { + close(master); + return (-1); + } + + if (unlockpt(master) == -1) { close(master); + close(slave); return (-1); } From owner-p4-projects@FreeBSD.ORG Thu Aug 7 18:26:18 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0421A106567F; Thu, 7 Aug 2008 18:26:18 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BB48F1065675 for ; Thu, 7 Aug 2008 18:26:17 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A8A5E8FC13 for ; Thu, 7 Aug 2008 18:26:17 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m77IQHHf090288 for ; Thu, 7 Aug 2008 18:26:17 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m77IQHUK090286 for perforce@freebsd.org; Thu, 7 Aug 2008 18:26:17 GMT (envelope-from ed@FreeBSD.org) Date: Thu, 7 Aug 2008 18:26:17 GMT Message-Id: <200808071826.m77IQHUK090286@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 146847 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: Thu, 07 Aug 2008 18:26:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=146847 Change 146847 by ed@ed_dull on 2008/08/07 18:25:52 There were a couple of reasons why I called the `ptycompat' driver the way it was, mainly because `pty' was reserved at the time (still used by the old TTY layer), but also to make it more explicit to mention that the driver was only there for compat reasons. jhb asked me if I could rename the driver back to pty(4). After some discussion, I agreed, so there we have it: the driver is now called pty(4) again. Affected files ... .. //depot/projects/mpsafetty/share/man/man4/Makefile#3 edit .. //depot/projects/mpsafetty/share/man/man4/pts.4#5 edit .. //depot/projects/mpsafetty/share/man/man4/pty.4#3 add .. //depot/projects/mpsafetty/share/man/man4/ptycompat.4#4 delete .. //depot/projects/mpsafetty/sys/amd64/conf/GENERIC#6 edit .. //depot/projects/mpsafetty/sys/arm/conf/AVILA#3 edit .. //depot/projects/mpsafetty/sys/arm/conf/BWCT#2 edit .. //depot/projects/mpsafetty/sys/arm/conf/CRB#2 edit .. //depot/projects/mpsafetty/sys/arm/conf/EP80219#2 edit .. //depot/projects/mpsafetty/sys/arm/conf/GUMSTIX#2 edit .. //depot/projects/mpsafetty/sys/arm/conf/HL200#2 edit .. //depot/projects/mpsafetty/sys/arm/conf/IQ31244#2 edit .. //depot/projects/mpsafetty/sys/arm/conf/KB920X#3 edit .. //depot/projects/mpsafetty/sys/conf/NOTES#6 edit .. //depot/projects/mpsafetty/sys/conf/files#8 edit .. //depot/projects/mpsafetty/sys/dev/pty/pty.c#1 add .. //depot/projects/mpsafetty/sys/dev/ptycompat/ptycompat.c#6 delete .. //depot/projects/mpsafetty/sys/i386/conf/GENERIC#6 edit .. //depot/projects/mpsafetty/sys/i386/conf/XBOX#2 edit .. //depot/projects/mpsafetty/sys/ia64/conf/GENERIC#3 edit .. //depot/projects/mpsafetty/sys/ia64/conf/SKI#2 edit .. //depot/projects/mpsafetty/sys/modules/Makefile#4 edit .. //depot/projects/mpsafetty/sys/modules/pty/Makefile#1 add .. //depot/projects/mpsafetty/sys/modules/ptycompat/Makefile#2 delete .. //depot/projects/mpsafetty/sys/pc98/conf/GENERIC#4 edit .. //depot/projects/mpsafetty/sys/powerpc/conf/GENERIC#4 edit .. //depot/projects/mpsafetty/sys/powerpc/conf/MPC85XX#2 edit .. //depot/projects/mpsafetty/sys/sparc64/conf/GENERIC#4 edit .. //depot/projects/mpsafetty/sys/sun4v/conf/GENERIC#4 edit Differences ... ==== //depot/projects/mpsafetty/share/man/man4/Makefile#3 (text+ko) ==== @@ -278,7 +278,7 @@ pst.4 \ pt.4 \ pts.4 \ - ptycompat.4 \ + pty.4 \ puc.4 \ ral.4 \ random.4 \ ==== //depot/projects/mpsafetty/share/man/man4/pts.4#5 (text+ko) ==== @@ -164,7 +164,7 @@ .Xr grantpt 3 , .Xr posix_openpt 2 , .Xr ptsname 3 , -.Xr ptycompat 4 , +.Xr pty 4 , .Xr tty 4 .Sh HISTORY A ==== //depot/projects/mpsafetty/sys/amd64/conf/GENERIC#6 (text+ko) ==== @@ -258,7 +258,7 @@ device ether # Ethernet support device tun # Packet tunnel. device pts # Pseudo-ttys (telnet etc) -device ptycompat # BSD-style compatibility pseudo ttys +device pty # BSD-style compatibility pseudo ttys device md # Memory "disks" device gif # IPv6 and IPv4 tunneling device faith # IPv6-to-IPv4 relaying (translation) ==== //depot/projects/mpsafetty/sys/arm/conf/AVILA#3 (text+ko) ==== @@ -112,7 +112,7 @@ device bpf device pts -device ptycompat +device pty device loop device if_bridge ==== //depot/projects/mpsafetty/sys/arm/conf/BWCT#2 (text+ko) ==== @@ -73,7 +73,7 @@ device ether device vlan device pts -device ptycompat +device pty device uart device ate device mii ==== //depot/projects/mpsafetty/sys/arm/conf/CRB#2 (text+ko) ==== @@ -88,7 +88,7 @@ # SCSI Controllers device pts -device ptycompat +device pty #options AHC_REG_PRETTY_PRINT # Print register bitfields in debug # output. Adds ~128k to driver. #options AHD_REG_PRETTY_PRINT # Print register bitfields in debug ==== //depot/projects/mpsafetty/sys/arm/conf/EP80219#2 (text+ko) ==== @@ -87,7 +87,7 @@ # SCSI Controllers device pts -device ptycompat +device pty device iopwdog # I80321 Watchdog device dma # I80321 DMA Controller ==== //depot/projects/mpsafetty/sys/arm/conf/GUMSTIX#2 (text+ko) ==== @@ -79,7 +79,7 @@ device uart_ns8250 device pts -device ptycompat +device pty # Debugging for use in -current options KDB ==== //depot/projects/mpsafetty/sys/arm/conf/HL200#2 (text+ko) ==== @@ -76,7 +76,7 @@ options NO_SWAPPING device random device pts -device ptycompat +device pty device loop device ether device uart ==== //depot/projects/mpsafetty/sys/arm/conf/IQ31244#2 (text+ko) ==== @@ -85,7 +85,7 @@ # SCSI Controllers device pts -device ptycompat +device pty device iopwdog # I80321 Watchdog device dma # I80321 DMA Controller device aau # I80321 Application Accelerator Unit ==== //depot/projects/mpsafetty/sys/arm/conf/KB920X#3 (text) ==== @@ -64,7 +64,7 @@ options NO_SWAPPING device random device pts -device ptycompat +device pty device loop device ether device uart ==== //depot/projects/mpsafetty/sys/conf/NOTES#6 (text+ko) ==== @@ -1280,7 +1280,7 @@ # `xterm', among others. device pts #Pseudo ttys -device ptycompat #BSD-style compatibility pseudo ttys +device pty #BSD-style compatibility pseudo ttys device nmdm #back-to-back tty devices device md #Memory/malloc disk device ccd #Concatenated disk driver ==== //depot/projects/mpsafetty/sys/conf/files#8 (text+ko) ==== @@ -1005,7 +1005,7 @@ dev/pst/pst-pci.c optional pst pci dev/pst/pst-raid.c optional pst dev/pts/pts.c optional pts -dev/ptycompat/ptycompat.c optional ptycompat +dev/pty/pty.c optional pty dev/puc/puc.c optional puc dev/puc/puc_cfg.c optional puc dev/puc/puc_pccard.c optional puc pccard ==== //depot/projects/mpsafetty/sys/i386/conf/GENERIC#6 (text+ko) ==== @@ -273,7 +273,7 @@ device ether # Ethernet support device tun # Packet tunnel. device pts # Pseudo-ttys (telnet etc) -device ptycompat # BSD-style compatibility pseudo ttys +device pty # BSD-style compatibility pseudo ttys device md # Memory "disks" device gif # IPv6 and IPv4 tunneling device faith # IPv6-to-IPv4 relaying (translation) ==== //depot/projects/mpsafetty/sys/i386/conf/XBOX#2 (text+ko) ==== @@ -72,7 +72,7 @@ device ether # Ethernet support #device tun # Packet tunnel. device pts # Pseudo-ttys (telnet etc) -device ptycompat # BSD-style compatibility pseudo ttys +device pty # BSD-style compatibility pseudo ttys #device md # Memory "disks" #device gif # IPv6 and IPv4 tunneling #device faith # IPv6-to-IPv4 relaying (translation) ==== //depot/projects/mpsafetty/sys/ia64/conf/GENERIC#3 (text+ko) ==== @@ -152,7 +152,7 @@ device loop # Network loopback device md # Memory "disks" device pts # Pseudo-ttys (telnet etc) -device ptycompat # BSD-style compatibility pseudo ttys +device pty # BSD-style compatibility pseudo ttys device puc # Multi I/O cards and multi-channel UARTs device random # Entropy device device tun # Packet tunnel. ==== //depot/projects/mpsafetty/sys/ia64/conf/SKI#2 (text+ko) ==== @@ -54,7 +54,7 @@ device loop # Network loopback device md # Memory "disks" device pts # Pseudo-ttys (telnet etc) -device ptycompat # BSD-style compatibility pseudo ttys +device pty # BSD-style compatibility pseudo ttys device random # Entropy device device tun # Packet tunnel. ==== //depot/projects/mpsafetty/sys/modules/Makefile#4 (text+ko) ==== @@ -218,7 +218,7 @@ pseudofs \ ${_pst} \ pts \ - ptycompat \ + pty \ puc \ ral \ ${_random} \ ==== //depot/projects/mpsafetty/sys/pc98/conf/GENERIC#4 (text+ko) ==== @@ -232,7 +232,7 @@ device ether # Ethernet support device tun # Packet tunnel. device pts # Pseudo-ttys (telnet etc) -device ptycompat # BSD-style compatibility pseudo ttys +device pty # BSD-style compatibility pseudo ttys device md # Memory "disks" device gif # IPv6 and IPv4 tunneling device faith # IPv6-to-IPv4 relaying (translation) ==== //depot/projects/mpsafetty/sys/powerpc/conf/GENERIC#4 (text+ko) ==== @@ -118,7 +118,7 @@ device ether # Ethernet support device tun # Packet tunnel. device pts # Pseudo-ttys (telnet etc) -device ptycompat # BSD-style compatibility pseudo ttys +device pty # BSD-style compatibility pseudo ttys device md # Memory "disks" device ofwd # Open Firmware disks device gif # IPv6 and IPv4 tunneling ==== //depot/projects/mpsafetty/sys/powerpc/conf/MPC85XX#2 (text+ko) ==== @@ -59,7 +59,7 @@ device miibus device pci device pts -device ptycompat +device pty device quicc device random #device rl ==== //depot/projects/mpsafetty/sys/sparc64/conf/GENERIC#4 (text+ko) ==== @@ -207,7 +207,7 @@ device ether # Ethernet support device tun # Packet tunnel. device pts # Pseudo-ttys (telnet etc) -device ptycompat # BSD-style compatibility pseudo ttys +device pty # BSD-style compatibility pseudo ttys device md # Memory "disks" device gif # IPv6 and IPv4 tunneling device faith # IPv6-to-IPv4 relaying (translation) ==== //depot/projects/mpsafetty/sys/sun4v/conf/GENERIC#4 (text+ko) ==== @@ -171,7 +171,7 @@ device ether # Ethernet support device tun # Packet tunnel. device pts # Pseudo-ttys (telnet etc) -device ptycompat # BSD-style compatibility pseudo ttys +device pty # BSD-style compatibility pseudo ttys device md # Memory "disks" device gif # IPv6 and IPv4 tunneling device faith # IPv6-to-IPv4 relaying (translation) From owner-p4-projects@FreeBSD.ORG Thu Aug 7 18:43:06 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0F9C11065670; Thu, 7 Aug 2008 18:43:06 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C75421065683; Thu, 7 Aug 2008 18:43:05 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from mail.zoral.com.ua (skuns.zoral.com.ua [91.193.166.194]) by mx1.freebsd.org (Postfix) with ESMTP id 201548FC14; Thu, 7 Aug 2008 18:43:04 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from deviant.kiev.zoral.com.ua (root@deviant.kiev.zoral.com.ua [10.1.1.148]) by mail.zoral.com.ua (8.14.2/8.14.2) with ESMTP id m77IRb1M070600 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 7 Aug 2008 21:27:37 +0300 (EEST) (envelope-from kostikbel@gmail.com) Received: from deviant.kiev.zoral.com.ua (kostik@localhost [127.0.0.1]) by deviant.kiev.zoral.com.ua (8.14.2/8.14.2) with ESMTP id m77IRaSI008952; Thu, 7 Aug 2008 21:27:36 +0300 (EEST) (envelope-from kostikbel@gmail.com) Received: (from kostik@localhost) by deviant.kiev.zoral.com.ua (8.14.2/8.14.2/Submit) id m77IRalP008929; Thu, 7 Aug 2008 21:27:36 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: deviant.kiev.zoral.com.ua: kostik set sender to kostikbel@gmail.com using -f Date: Thu, 7 Aug 2008 21:27:36 +0300 From: Kostik Belousov To: John Baldwin Message-ID: <20080807182736.GX97161@deviant.kiev.zoral.com.ua> References: <200808031737.m73HbJO8065922@repoman.freebsd.org> <200808071218.40578.jhb@freebsd.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="NFhhVVeDTkyNvWHh" Content-Disposition: inline In-Reply-To: <200808071218.40578.jhb@freebsd.org> User-Agent: Mutt/1.4.2.3i X-Virus-Scanned: ClamAV version 0.93.3, clamav-milter version 0.93.3 on skuns.kiev.zoral.com.ua X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=5.0 tests=ALL_TRUSTED,BAYES_00 autolearn=ham version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on skuns.kiev.zoral.com.ua Cc: Ed Schouten , Perforce Change Reviews , Robert Watson Subject: Re: PERFORCE change 146544 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: Thu, 07 Aug 2008 18:43:06 -0000 --NFhhVVeDTkyNvWHh Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Aug 07, 2008 at 12:18:40PM -0400, John Baldwin wrote: > On Sunday 03 August 2008 01:46:38 pm Robert Watson wrote: > >=20 > > On Sun, 3 Aug 2008, Ed Schouten wrote: > >=20 > > > http://perforce.freebsd.org/chv.cgi?CH=3D146544 > > > > > > Change 146544 by ed@ed_flippo on 2008/08/03 17:36:53 > > > > > > Add a counter to store the number of null modem devices. > >=20 > > I've seen similar constructs in lots of drivers, and it's basically an= =20 > unsafe=20 > > construct because the deregister is non-atomic with respect to the busy= =20 > check.=20 > > I wonder if, instead, we should use a mutex to protect the count, and s= et it=20 > > to some value to deny future allocations, such as -1, once the ebusy ch= eck=20 > is=20 > > past... Even that is unideal, though. >=20 > Yes, you basically need to set a flag of some sort to disable cloning, th= en go=20 > tear down the clone handler. And, yes, you probably should just use a mu= tex=20 > for this (there are tricky games one could play with atomic ops, but give= n=20 > how rare clone and detach happen, it isn't worth the code complexity). I answered to Ed on the channel, the right incantation sequence is: 1. remove clone eventhandler; 2. call drain_dev_clone_events() to move past the point where new clones may be created; 3. do the destroy_dev() as needed; 4. if code ever called destroy_dev_sched(), call destroy_dev_drain(&csw). --NFhhVVeDTkyNvWHh Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (FreeBSD) iEYEARECAAYFAkibPpcACgkQC3+MBN1Mb4gTZQCgiIIvXHgeg/xfXEPuHI1pwpvc assAoM6R6kV1jpkGsEZzbOiORS9utmSQ =udKS -----END PGP SIGNATURE----- --NFhhVVeDTkyNvWHh-- From owner-p4-projects@FreeBSD.ORG Thu Aug 7 19:36:30 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 127F71065693; Thu, 7 Aug 2008 19:36:30 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C78291065686 for ; Thu, 7 Aug 2008 19:36:29 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B3EBA8FC19 for ; Thu, 7 Aug 2008 19:36:29 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m77JaT7R004057 for ; Thu, 7 Aug 2008 19:36:29 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m77JaTVf004055 for perforce@freebsd.org; Thu, 7 Aug 2008 19:36:29 GMT (envelope-from pgj@FreeBSD.org) Date: Thu, 7 Aug 2008 19:36:29 GMT Message-Id: <200808071936.m77JaTVf004055@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 146851 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: Thu, 07 Aug 2008 19:36:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=146851 Change 146851 by pgj@disznohal on 2008/08/07 19:36:23 MFen: 1.1050 -> 1.1075 hu_HU.ISO8859-2/books/faq/book.sgml Affected files ... .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/faq/book.sgml#8 edit Differences ... ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/faq/book.sgml#8 (text+ko) ==== @@ -7,7 +7,7 @@ @@ -207,7 +207,7 @@ olyan szoftverekkel felváltani, amelyek a tõle enyhébb - FreeBSD licencet alkalmazzák. + &os; licencet alkalmazzák. @@ -366,7 +366,7 @@ - Mi a különbség a FreeBSD, a NetBSD, + Mi a különbség a &os;, a NetBSD, OpenBSD és a többi nyílt forráskódú BSD operációs rendszerek között? @@ -790,7 +790,7 @@ Mielõtt beküldenénk egy hibajelentést, olvassuk el a Writing - FreeBSD Problem Reports címû cikket + &os; Problem Reports címû cikket (angolul), amelybõl megtudhatjuk, hogyan készítsünk jól hasznosítható hibajelentéseket. @@ -804,7 +804,7 @@ Nézzük meg a FreeBSD Projekt + url="http://www.FreeBSD.org">&os; Projekt honlapjáról elérhetõ dokumentációkat. @@ -1425,7 +1425,7 @@ url="http://www.bsdmall.com/">BSD Mall honlapján kaphatunk. - A FreeBSD Mall is nyújt keresdelmi + A &os; Mall is nyújt keresdelmi támogatást a &os;-hez. Errõl a honlapjunkon tudhatunk meg többet. @@ -1917,10 +1917,9 @@ Váltsunk át a vészhelyzetekben használatos parancsértelmezõre (Emergency Holographic Shell, ALT - F4) vagy indítsuk el - egy javításhoz használt - (fixit) + action="simul">Alt F4) + vagy indítsuk el egy javításhoz + használt (fixit) parancsértelmezõt. @@ -2577,15 +2576,18 @@ - Ez a korlát a szabványos &i386; - telepítésben 4 GB, de a &man.pae.4; - használatával ennél több - memóriát is el tudunk elérni. Ehhez a - következõ beállítás - megadásával újra kell - fordítanunk a rendszermagot: - - options PAE + A memóriára vonatkozó + korlátozások platformonként + változnak. Egy szabványos &i386; + telepítés esetén például + ez a határ 4 GB, de &man.pae.4; + segítségével akár még + ennél több is elérhetõ. Ehhez + olvassuk el az &i386; platformon 4 GB-nál + több memória használatára + vonatkozó utasításokat. + A &os;/pc98 esetén a korlát szintén 4 GB, azonban itt a PAE nem használható. @@ -2803,6 +2805,151 @@ + + Memória + + + + + A &os; képes 4 GB-nál, + 16 GB-nál vagy akár + 48 GB-nál több memóriát + (RAM-ot) támogatni? + + + + Igen. A &os; operációs + rendszerként képes az adott platformon + kihasználni az összes rendelkezésre + álló fizikai memóriát. Ne + felejtsük el azonban, hogy az egyes platformokon + ennek határa eltér. Például + az &i386; platformon a PAE + használata nélkül legfeljebb csak + 4 GB memóriát tudunk elérni + (amely azonban a PCI számára fenntartott + címtér miatt a valóságban + némileg kevesebb), illetve a + PAE használatával + legfeljebb 64 GB memóriát. Az AMD64 + platformokon viszont már egészen 1 TB + memóriáig is elmehetünk. + + + + + + A &os; miért jelez 4 GB-nál + kevesebb memóriát &i386; + architektúrájú + számítógépeken? + + + + Az &i386; platformon a címtér + 32 bites, ami azt jelenti, hogy itt legfeljebb + 4 GB memória címezhetõ meg + (és érhetõ el). + Ráadásul a címtér bizonyos + tartományait a hardvereszközök + számára tartják fenn + különbözõ célokra, + például a PCI eszközök + mûködtetésére és + vezérlésére, a videomemória + hozzáférésére stb. + Ennélfogva az operációs rendszer + és annak rendszermagja által + felhasználható teljes memória + mérete jelentõsen kevesebb, mint 4 GB. + Ezen a típusú + konfigurációkon általában + 3,2 GB és 3,7 GB között mozog + a maximálisan kihasználható fizikai + memória mérete. + + Ha mégis 3,2  vagy + 3,7 GB-nál több memóriát + szeretnénk elérni (4 GB-ot vagy + akár annál is többet), akkor ahhoz a + PAE nevû speciális + módosításra lesz + szükségünk. A PAE a + Physical Address Extension + (Fizikai címkiterjesztés) + rövidítése, és egy olyan + módszerre utal, amellyel a 32 bites x86 + típusú processzorokon tudunk + 4 GB-nál több memóriát + címezni. Lényegében nem + csinál mást, csak 4 GB-os + határ felé képezi le azokat a + memóriaterületeket, amelyeket + egyébként a hardverek + részére tartanak fenn, ezzel + kiegészíti a fizikai + memóriát (&man.pae.4;). A + PAE használatának + számos hátránya van: ebben a + módban a megszokottnál (vagyis + PAE nélkül) + némileg lassabb a memória + elérése, illetve ilyenkor a + betölthetõ rendszermag-modulok (lásd + &man.kld.4;) sem támogatottak. Emiatt az + összes meghajtót bele kell + fordítanunk a rendszermagba. + + A PAE használatát + általában a PAE + nevû, a rendszermaghoz gyárilag + mellékelt konfigurációs + állománnyal engedélyezhetjük. + Ezt eleve úgy állították + össze, hogy gond nélkül + készíteni tudjuk egy ilyen rendszermagot. + Érdemes azonban megemlíteni, hogy a + konfigurációs állomány + bizonyos tekintetben egy kissé + konzervatív, mivel egyes PAE + esetén használhatatlannak megjelölt + meghajtók valójában mégis + minden gond nélkül + hozzáadhatóak a + konfigurációhoz. Ezzel kapcsolatban azt + javasoljuk, hogy ha az adott meghajtó + használható valamelyik 64 bites + architektúrán (például + AMD64-en), akkor nagy + valószínûséggel + PAE-vel is mûködni fog. + Amennyiben saját magunk szeretnénk egy + PAE-rendszermagot + készíteni, akkor a következõ + sort tegyük bele a konfigurációs + állományba: + + options PAE + + A PAE alkalmazása + napjainkban annyira már nem jellemzõ, mivel az + újabb x86 hardverek mindegyike képes + 64 bites (AMD64 vagy &intel; 64) módban + futni. Ebben az esetben már lényegesen + nagyobb címtér használatára + nyílik lehetõségünk, így + nincs szükségünk további + trükkökre. A &os; támogatja az AMD64 + architektúrát, így ha + 4 GB-nál több memóriát + szeretnénk elérni, akkor inkább a + &os; ezen változatát érdemes + alkalmazni. + + + + + Architektúrák és processzorok @@ -3025,7 +3172,7 @@ nem használhatóak. A Daemon News-tól és a - FreeBSD Mall-tól rendelhetõ hivatalos &os; + &os; Mall-tól rendelhetõ hivatalos &os; CD-krõl akár közvetlenül el is tudjuk indítani a rendszert. @@ -3081,15 +3228,16 @@ scbus0, da0, ppbus0 és - vp0 meghajtók (a GENERIC - rendszermagban a vp0 - kivételével mindegyik szerepel). - Segítségükkel a párhuzamos vonalon - csatlakozó meghajtó a - da0s4 eszközön + vp0 meghajtók (a + GENERIC rendszermagban a + vp0 kivételével + mindegyik szerepel). Segítségükkel a + párhuzamos vonalon csatlakozó meghajtó + a da0s4 eszközön keresztül érhetõ el. Ennek megfelelõen az állományrendszerek a - mount /dev/da0s4 /mnt VAGY (DOS + mount /dev/da0s4 /mnt + vagy (DOS esetén) a mount_msdos /dev/da0s4 /mnt parancs kiadásával csatlakoztathatóak. @@ -3236,7 +3384,7 @@ A &os; ismeri a buszos, illetve a Microsoft, Logitech és az ATI által gyártott InPort buszos - egereket. A GENERIC rendszermag azonban + egereket. A GENERIC rendszermag azonban ehhez nem tartalmaz meghajtót. A rendszermag konfigurációs állományába a következõ sort kell megadni, ha egy buszos @@ -3726,11 +3874,13 @@ Miért állapítja meg rosszul a &os; - a memória mennyiségét? + a memória mennyiségét &i386; + hardveren? - A válasz lényegében a fizikai + A válasz nagy + valószínûséggel a fizikai és virtuális memóriacímek közti különbségben rejlik. @@ -3767,18 +3917,24 @@ már nem képes elérni. Ezen egy PAE támogatással rendelkezõ rendszermag használatával segíthetünk. A - GYIK-on belül még ebben a bejegyzésben - olvashatunk részletesebben. + GYIK-on belül ebben a bejegyzésben + olvashatunk bõvebben a + memóriakorlátokról, valamint ebben a részben + láthatjuk a különbözõ + platformokra vonatkozó + memóriakorlátozásokat. A &os; 64 bites változata vagy a PAE használata esetén azonban a &os; rendesen felismeri és leképezi a fennmaradó memóriaterületeket, így azok használhatóvá válnak. A - rendszerindítás során azonban - látszólag úgy fog tûnni, hogy a - &os; több memóriát észlel, mint + rendszerindítás során azonban az + elõbb említett leképezés miatt + látszólag úgy fog tûnni, mintha a + &os; több memóriát észlelne, mint amennyivel valójában rendelkezünk. Ez teljesen normálisnak tekinthetõ és a ténylegesen elérhetõ memória @@ -3878,17 +4034,17 @@ programon belül alkalmazunk egy apró trükköt. Most ne a vizuális felületét használjuk, hanem a - parancssoros részt. Gépeljük be: + parancssoros részt. Gépeljük be, majd a + megszokottak szerint telepítsük a + rendszert: eisa 12 quit - Majd a megszokottak szerint telepítsük a - rendszert. Ettõl függetlenül - természetesen továbbra is javasolt egy, az - elõbbiek szerint módosított rendszermagot - fordítanunk és - telepítenünk. + Ettõl függetlenül természetesen + továbbra is javasolt egy, az elõbbiek szerint + módosított rendszermagot fordítanunk + és telepítenünk. A következõ verziókban remélhetõleg már lesz valamilyen @@ -6284,7 +6440,7 @@ Miért nem lehet lefordítani a - rendszermagot, még a GENERIC + rendszermagot, még a GENERIC beállításaival sem? @@ -7101,7 +7257,7 @@ default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT" -C:\BOOTSECT.BSD="FreeBSD" +C:\BOOTSECT.BSD="&os;" C:\="DOS" Ha a &os; ugyanazon a lemezen található, @@ -7179,7 +7335,7 @@ other=/dev/hda2 table=/dev/hda - label=FreeBSD + label=&os; (A fentiekben feltételeztük, hogy a &os;-t tartalmazó slice a &linux; számára @@ -7200,7 +7356,7 @@ other=/dev/dab4 table=/dev/dab loader=/boot/chain.b - label=FreeBSD + label=&os; Bizonyos helyzetekben elõfordulhat, hogy a &os; rendszertöltõjének át kell adnunk a @@ -7221,7 +7377,7 @@ A &os; és &linux; együttes használatáról további részleteket a &linux;+FreeBSD mini-HOWTO + url="http://tldp.org/HOWTO/Linux+FreeBSD.html">&linux;+&os; mini-HOWTO címû írásból tudhatunk meg. @@ -7244,7 +7400,7 @@ rendszerekben a /boot/grub/grub.conf): - title FreeBSD 6.1 + title &os; 6.1 root (hd0,a) kernel /boot/loader @@ -8234,12 +8390,12 @@ - Igen, a &os; a GENERIC típusú - rendszermagban támogatja a System V - típusú IPC megoldást, beleértve - az osztott memória, az üzenetek és a - szemaforok használatát. Ha saját - rendszermagunk van, akkor az alábbi + Igen, a &os; a GENERIC + típusú rendszermagban támogatja a System + V típusú IPC megoldást, + beleértve az osztott memória, az üzenetek + és a szemaforok használatát. Ha + saját rendszermagunk van, akkor az alábbi beállítások használatával engedélyezhetjük a használatukat: @@ -8507,7 +8663,7 @@ - A FreeBSD 5.X és + A &os; 5.X és a késõbbi változatok már a &man.devfs.8; által felkínált automatikus megoldást alkalmazzák. Ilyenkor @@ -10948,6 +11104,24 @@ + + Miért jelennek meg 192.168.0.10 is on + fxp1 but got reply from 00:15:17:67:cf:82 on rl0 + üzenetek a konzolon és hogyan lehet ezeket + kikapcsolni? + + + + Ilyen üzeneteket akkor kapunk, amikor a + hálózaton kívülrõl + érkezik hozzánk váratlanul egy csomag. + A letiltásukhoz állítsuk a + net.link.ether.inet.log_arp_wrong_iface + értékét 0-ra. + + + + A CVSup programot telepítése után nem lehet @@ -11437,16 +11611,16 @@ Gondoskodjunk róla, hogy az /etc/syslog.conf állomány (lásd &man.syslog.conf.5;) tartalmazza az - alábbi sort: + alábbi sort, illetve az + /var/log/ppp.log állomány + létezzen: !ppp *.* /var/log/ppp.log - illetve az /var/log/ppp.log - állomány létezzen. A napló - segítségével már több - mindent ki tudunk deríteni a &man.ppp.8; - mûködésérõl. Ne + A napló segítségével + már több mindent ki tudunk deríteni a + &man.ppp.8; mûködésérõl. Ne aggódjunk, ha nem értünk belõle semmit. Kérjünk segítséget másoktól, nekik minden bizonnyal @@ -11613,12 +11787,12 @@ Ha beállítottuk a Link Quality Reporting - (LQR) használatát, akkor elõfordulhat, hogy - túlságosan sok csomag veszik el a + (LQR) használatát, akkor elõfordulhat, + hogy túlságosan sok csomag veszik el a gépünk és a másik oldal - között. A PPP ezért a vonalat rossznak - érzékeli és bontja. A &os; 2.2.5 - változata elõtt az LQR + között. A &man.ppp.8; ezért a vonalat + rossznak érzékeli és bontja. A + &os; 2.2.5 változata elõtt az LQR alapértelmezés szerint engedélyezett volt. Az LQR így tiltható le: @@ -11811,29 +11985,33 @@ A legjobban úgy járunk, ha a &man.ppp.8; - támogatást újrafordítjuk a - CFLAGS+=-g és a - STRIP= - beállítások megadásával - az /etc/make.conf - állományban, majd a - /usr/src/usr.sbin/ppp - könyvtárban a - make install clean - parancs kiadásával. Amikor a &man.ppp.8; - leáll, keressük meg a &man.ppp.8; program - azonosítóját a - pgrep ppp parancs - használatával, majd adjuk ki a - gdb ppp PID - parancsot (gdb ppp `pgrep ppp`). A - gdb parancssorából - ezután a bt paranccsal - kérdezhetjük le a hívási - láncot. + programot nyomkövetési + információkkal fordítjuk újra, + majd a &man.gdb.1; segítségével + lekérünk egy hívási láncot + az éppen megakadt ppp + példánytól. A + ppp alkalmazást a + következõ parancsokkal tudjuk úgy + újrafordítani, hogy tartalmazza a + kívánt információkat: + + &prompt.root; gdb ppp `pgrep ppp` + + Ezt követõen a gdb + parancssorában a bt és + where parancsok + segítségével hozzá tudunk jutni + a hívási lánchoz. Mentsük el + valahova a gdb által + kinyert adatokat, majd a detach + paranccsal váljunk le a futó programról + és a quit + begépelésével lépjünk ki a + gdb programból. - Az eredményeket küldjük el &a.brian; - címére. + Végezetül az elmentett eredményeket + küldjük el &a.brian; címére. @@ -12107,7 +12285,7 @@ - + A &man.ppp.8; null-modem kábel használatakor miért nem lép ki soha? @@ -14358,7 +14536,7 @@ szemszögébõl, név szerint a Marshall Kirk McKusick és George V. Neville-Neil által írt The Design and Implementation of the - FreeBSD Operating System címû könyv + &os; Operating System címû könyv (ISBN 0-201-70245-2), amely a &os; 5.X változatára koncentrál. @@ -14395,8 +14573,8 @@ - Mik azok a SNAP és - RELEASE verziók? + Mik azok a pillanatkiadások és + kiadások? @@ -14411,19 +14589,19 @@ - RELENG_5 avagy - 5-STABLE + RELENG_6 avagy + 6-STABLE - RELENG_6 avagy - 6-STABLE + RELENG_7 avagy + 7-STABLE HEAD avagy -CURRENT avagy - 7.X-CURRENT + 8-CURRENT @@ -14433,15 +14611,16 @@ ágaztatott fejlesztési irány jelentéssel bír, amire pedig sokszor röviden csak - -CURRENT néven hivatkoznak. + -CURRENT néven + hivatkoznak. - Jelen pillanatban a -CURRENT a - 7.X fejlesztési + Jelen pillanatban a -CURRENT a + 8.X fejlesztési irányát képviseli; az - 5-STABLE ág, a - RELENG_5, 2004 októberében, - míg a 6-STABLE ág, a - RELENG_6, 2005 novemberében + 6-STABLE ág, a + RELENG_6, 2005 novemberében, + míg a 7-STABLE ág, a + RELENG_7, 2008 februárjában vált le a -CURRENT ágból. @@ -14471,10 +14650,11 @@ Mert alapvetõen ez lenne a cél: ahogy a neve is sugallja, a rendszer újrafordítása, - vagyis a make - world parancs feladata a - rendszerben található összes - bináris újrafordítása, aminek + vagyis a + make world + parancs feladata a rendszerben található + összes bináris + újrafordítása, aminek eredményeképpen egy tiszta és összefüggõ környezetet kapunk (ezért is tart ilyen sokáig). @@ -14517,7 +14697,7 @@ frissebb kód található, miközben a többin még az egy órával ezelõtti állapot szerepel. Ha a cvsup.FreeBSD.org forgó + role="fqdn">cvsup.FreeBSD.org forgó névfeloldással mûködne, akkor a felhasználók mindig egy véletlenszerûen választott @@ -14530,35 +14710,6 @@ - - A rendszer induláskor miért írja - ki, hogy (bus speed defaulted)? - - - - Az Adaptec 1542 típusú - SCSI-vezérlõk lehetõvé teszik a - felhasználók számára, hogy - szoftveresen állítsák be a - buszelérés sebességét. Az 1542 - meghajtójának korábbi változatai - igyekezték kideríteni a kártya - által ismert legnagyobb sebességt és - erre beállítani. Ezzel kapcsolatban viszont - azt tapasztaluk, hogy egyes felhasználók - rendszerein nem mûködik rendesen, ezért ez - csak akkor fog mûködni, ha a rendszermag - konfigurációs beállításai - között megadjuk a - opciót. Ha ki tudjuk használni a - rendszerünkön, akkor a lemezeink így - felgyorsíthatóak, azonban ahol ez - mûködik, ott akár adatvesztést is - okozhat. - - - - A -CURRENT forrásait korlátozott interneteléréssel is lehet @@ -14576,8 +14727,8 @@ - - Hogyan lehet 240 KB-os darabokra felosztani az + + Hogyan lehet 1392 KB-os darabokra felosztani az egyes terjesztéseket? @@ -14589,15 +14740,10 @@ állományokat. Íme erre egy példa az - /usr/src/Makefile + /usr/src/release/Makefile állományból: - bin-tarball: -(cd ${DISTDIR}; \ -tar cf - . \ -gzip --no-name -9 -c | \ -split -b 240640 - \ -${RELEASEDIR}/tarballs/bindist/bin_tgz.) + ZIPNSPLIT= gzip --no-name -9 -c | split -b 1392k - @@ -14609,10 +14755,9 @@ Erre vonatkozóan vessünk egy - pillantást a &os; - továbbfejlesztésérõl - szóló cikkre. + pillantást a &os; továbbfejlesztésérõl szóló + cikkre. Köszönjük, hogy gondolt ránk! @@ -14647,8 +14792,8 @@ beállít valaki, akkor folytatható a keresés. Ezután a keresést végzõ kódrész letiltja az - X alatti (a Microsoft és az Intel - által kiosztott) azonosítóval + X alatti (a µsoft; és az + &intel; által kiosztott) azonosítóval rendelkezõ kártyákat, majd ismét megnézi, hogy valaki továbbra is válaszol-e. Amennyiben a válasz @@ -14657,17 +14802,17 @@ azonosító felett. Ezt követõen a rendszer megpróbálkozik az X alatti azonosítók - lekérdezésével. Ha erre kap valamilyen - választ, akkor folytatja az X - alatti keresést az - X -(korlát / 4) feletti - azonosítók letiltásával, majd - megismétli az iménti kérdést. - Ezzel a félig-meddig bináris keresési - módszerrel aztán képes - 264 lépésnél - jóval kevesebbõl felderíteni a - rendszerünkben megtalálható PnP + lekérdezésével. Végül folytatja az + X alatti keresést az + X -(korlát / 4) + feletti azonosítók letiltásával, + majd megismétli az iménti + kérdést. Ezzel a félig-meddig + bináris keresési módszerrel + aztán képes 264 + lépésnél jóval kevesebbõl + felderíteni a rendszerünkben + megtalálható PnP kártyákat. Az azonosítók két 32 bit @@ -14687,8 +14832,8 @@ túlzás. A második 32 bit lehet a kártya - sorozatszáma, az Ethernet címe vagy bárki - más, ami alapján egyértelmûen + sorozatszáma vagy bárki más, amely + alapján egyértelmûen beazonosítható. A gyártó ugyanazzal a 32 bites értékkel nem gyárthat egy másik kártyát, csak @@ -14747,7 +14892,7 @@ már ennyi is elegendõ az alapok megértéséhez. - A Microsoft néhány elsõdleges + A µsoft; néhány elsõdleges nyomtatási állapotot jelzõ portot átrakott PnP-re, azzal a címszóval, hogy egyik kártya sem kódolta át ezeket @@ -14755,14 +14900,14 @@ számára. Találtam is egy eredeti IBM nyomtatókártyát, amely valóban át tudta írni az állapotjelzõ - portot a PnP kezdeti változataiban, de arra az MS - csak annyit mondott, hogy fogós. - Ezért a nyomtatási állapotot jelzõ - portot a címek - beállítására használja, - illetve még a 0x800-as portot - és egy harmadik I/O portot valahol a - 0x200 és a + portot a PnP kezdeti változataiban, de arra a + µsoft; csak annyit mondott, hogy + fogós. Ezért a + nyomtatási állapotot jelzõ portot a + címek beállítására + használja, illetve még a + 0x800-as portot és egy harmadik + I/O portot valahol a 0x200 és a 0x3ff környékén. @@ -14780,35 +14925,9 @@ dinamikusan és önmûködõen futás közben lefoglalni fõeszközazonosítókat a - meghajtóknak. Ez a megoldás sokkal - inkább ajánlott a korábbi, statikus - foglalást igénylõ megoldással - szemben. A témához kapcsolódóan - találhatunk néhány megjegyzést - az src/sys/conf/majors - állományban. - - Ha valamiért mégis a statikus - foglalást választjuk, akkor a konkrét - eljárás attól függ, hogy a - meghajtót mindenki által - elérhetõvé akarjuk-e tenni vagy sem. - Amennyiben igen, akkor juttassuk el a következõket - a fejlesztõknek: a meghajtó - forráskódja, a files.i386 - egy módosított változata, egy minta - konfigurációs állomány és - a &man.MAKEDEV.8; megfelelõ változata, amely - képes létrehozni az eszköz tartozó - leírókat. Ha nem szeretnénk - másokkal megosztani, vagy mert a licencelés - tiltja, akkor válasszuk a 32-es - fõeszközazonosítót és 8-as - blokkazonosítót, mert ezeket erre a - célra tartjuk fenn. Akármelyiket is - válasszuk, szívesen hallunk a - meghajtóról a &a.hackers; levelei - között. + meghajtóknak (lásd &man.devfs.5;), + ezért erre tulajdonképpen már nincs + szükség. @@ -14842,7 +14961,7 @@ tudja elõre a létrehozni kívánt könyvtárak számát, akkor ezt úgy lehet megoldani, ha a mûvelet során - (összes / cilindercsoportok) + (összes / cilindercsoportok) mennyiségû könyvtárat hozunk létre az egyes cilindercsoportokban. Ennek meghatározására @@ -14863,7 +14982,7 @@ ezeket. Mindenesetre elmondható, hogy ezzel nyugodtan lehet kísérletezni. - Kirk McKusick, 1998 szeptembere + &a.mckusick;, 1998 szeptembere @@ -14875,47 +14994,33 @@ - [Ezt a választ &a.wpaul; &a.current; - címére küldött levelébõl - &a.des; szedte ki, aki még javította az - elgépeléseket és hozzátett - még néhány - megjegyzést.] - - From: Bill Paul <wpaul@skynet.ctr.columbia.edu> -Subject: Re: the fs fun never stops -To: Ben Rosengart -Date: Sun, 20 Sep 1998 15:22:50 -0400 (EDT) -Cc: current@FreeBSD.org + Általában így néz ki a + rendszermag összeomlása: - [Ben Rosengart a következõ - üzenetet küldte:] - > Fatal trap 12: page fault while in kernel mode -> fault virtual address = 0x40 -> fault code = supervisor read, page not present -> instruction pointer = 0x8:0xf014a7e5 - ^^^^^^^^^^ -> stack pointer = 0x10:0xf4ed6f24 -> frame pointer = 0x10:0xf4ed6f28 -> code segment = base 0x0, limit 0xfffff, type 0x1b -> = DPL 0, pres 1, def32 1, gran 1 -> processor eflags = interrupt enabled, resume, IOPL = 0 -> current process = 80 (mount) -> interrupt mask = -> trap number = 12 -> panic: page fault +fault virtual address = 0x40 +fault code = supervisor read, page not present +instruction pointer = 0x8:0xf014a7e5 +stack pointer = 0x10:0xf4ed6f24 +frame pointer = 0x10:0xf4ed6f28 +code segment = base 0x0, limit 0xfffff, type 0x1b + = DPL 0, pres 1, def32 1, gran 1 +processor eflags = interrupt enabled, resume, IOPL = 0 +current process = 80 (mount) +interrupt mask = +trap number = 12 +panic: page fault - [Ha] egy ilyen üzenetet látunk, akkor nem + Amikor egy ilyen üzenetet látunk, akkor nem elegendõ újra elõcsalni a hibát és beküldeni. Az utasításszámláló - (instruction pointer) fentebb kiemelt - értéke ugyan nagyon fontos, de sajnos - konfigurációk szerint eltérhet. - Más szóval úgy fogalmazhatnék, - hogy ennek az értéke a használatban - levõ rendszermag értékétõl + (instruction pointer) értéke + ugyan nagyon fontos, de sajnos konfigurációk + szerint eltérhet. Más szóval + úgy fogalmazhatnék, hogy ennek az + értéke a használatban levõ + rendszermag értékétõl függõen változhat. Ha a GENERIC rendszermagot használjuk valamelyik kiadásból, akkor viszont már @@ -14944,7 +15049,7 @@ A rendszer újraindításakor írjuk be a következõt: - &prompt.user; nm -n /a.hibát.okozó.rendszermag | grep f0xxxxxx + &prompt.user; nm /a.hibát.okozó.rendszermag | grep f0xxxxxx ahol az f0xxxxxx az utasításszámláló @@ -14962,7 +15067,7 @@ számjegyet és próbálkozzunk így: - &prompt.user; nm -n /a.hibát.okozó.rendszermag | grep f0xxxxx + &prompt.user; nm /a.hibát.okozó.rendszermag | grep f0xxxxx Ha még ez sem hoz eredményt, akkor vágjunk le a végérõl egy @@ -14977,79 +15082,72 @@ - Gyakran látok embereket, akik ehhez - hasonló üzeneteket mutogatnak, azonban olyanokat - csak nagyon ritkán, akik utána is - járnak az - utasításszámláló - értékének és kikeresik a - hozzátartozó függvényt a - rendszermag >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Aug 7 20:04:54 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 61B211065672; Thu, 7 Aug 2008 20:04:54 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 24177106566C; Thu, 7 Aug 2008 20:04:54 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (bigknife-pt.tunnel.tserv9.chi1.ipv6.he.net [IPv6:2001:470:1f10:75::2]) by mx1.freebsd.org (Postfix) with ESMTP id BA03B8FC0C; Thu, 7 Aug 2008 20:04:53 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from localhost.corp.yahoo.com (john@localhost [IPv6:::1]) (authenticated bits=0) by server.baldwin.cx (8.14.2/8.14.2) with ESMTP id m77K4lgk019474; Thu, 7 Aug 2008 16:04:47 -0400 (EDT) (envelope-from jhb@freebsd.org) From: John Baldwin To: Ed Schouten Date: Thu, 7 Aug 2008 16:04:33 -0400 User-Agent: KMail/1.9.7 References: <200808071826.m77IQHUK090286@repoman.freebsd.org> In-Reply-To: <200808071826.m77IQHUK090286@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200808071604.34051.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [IPv6:::1]); Thu, 07 Aug 2008 16:04:47 -0400 (EDT) X-Virus-Scanned: ClamAV 0.93.1/7973/Thu Aug 7 14:58:24 2008 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-2.5 required=4.2 tests=AWL,BAYES_00,NO_RELAYS autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: Perforce Change Reviews Subject: Re: PERFORCE change 146847 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: Thu, 07 Aug 2008 20:04:54 -0000 On Thursday 07 August 2008 02:26:17 pm Ed Schouten wrote: > http://perforce.freebsd.org/chv.cgi?CH=146847 > > Change 146847 by ed@ed_dull on 2008/08/07 18:25:52 > > There were a couple of reasons why I called the `ptycompat' > driver the way it was, mainly because `pty' was reserved at the > time (still used by the old TTY layer), but also to make it more > explicit to mention that the driver was only there for compat > reasons. > > jhb asked me if I could rename the driver back to pty(4). After > some discussion, I agreed, so there we have it: the driver is > now called pty(4) again. Thanks for being flexible. -- John Baldwin From owner-p4-projects@FreeBSD.ORG Thu Aug 7 20:34:57 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7752D106569A; Thu, 7 Aug 2008 20:34:57 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3C5FF1065696 for ; Thu, 7 Aug 2008 20:34:57 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2A4F78FC23 for ; Thu, 7 Aug 2008 20:34:57 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m77KYvQM010072 for ; Thu, 7 Aug 2008 20:34:57 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m77KYvw5010070 for perforce@freebsd.org; Thu, 7 Aug 2008 20:34:57 GMT (envelope-from jhb@freebsd.org) Date: Thu, 7 Aug 2008 20:34:57 GMT Message-Id: <200808072034.m77KYvw5010070@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 146856 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: Thu, 07 Aug 2008 20:34:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=146856 Change 146856 by jhb@jhb_mutex on 2008/08/07 20:34:04 - Tests for Giant with *sleep() and cv_*wait*(). - Misc compile. Affected files ... .. //depot/projects/smpng/sys/modules/crash/crash.c#53 integrate .. //depot/projects/smpng/sys/modules/crash2/crash2.c#23 integrate Differences ... ==== //depot/projects/smpng/sys/modules/crash/crash.c#53 (text+ko) ==== @@ -90,6 +90,76 @@ /* Events. */ static void +broadcast(void *cv) +{ + + cv_broadcast(cv); +} + +static void +wait_unlock_Giant(void) +{ + struct callout c; + struct cv cv; + + callout_init(&c, 0); + cv_init(&cv, "Giant"); + + mtx_lock(&Giant); + callout_reset(&c, 1, broadcast, &cv); + printf("This had better panic...\n"); + cv_wait_unlock(&cv, &Giant); + cv_destroy(&cv); +} +CRASH_EVENT("try to cv_wait_unlock() with Giant", wait_unlock_Giant); + +static int Giant_wchan; + +static void +pdrop_Giant(void) +{ + + printf("This had better panic...\n"); + mtx_lock(&Giant); + mtx_sleep(&Giant_wchan, &Giant, PDROP, "Giant", 1); +} +CRASH_EVENT("try to PDROP Giant", pdrop_Giant); + +static void +sleeping_with_Giant(void) +{ + struct callout c; + struct cv cv; + int error; + + callout_init(&c, 0); + cv_init(&cv, "Giant"); + + mtx_assert(&Giant, MA_NOTOWNED); + mtx_lock(&Giant); + error = mtx_sleep(&Giant_wchan, &Giant, 0, "Giant", 1); + KASSERT(error == EWOULDBLOCK, ("mtx_sleep did not timeout")); + mtx_assert(&Giant, MA_OWNED | MA_NOTRECURSED); + error = cv_timedwait(&cv, &Giant, 1); + KASSERT(error == EWOULDBLOCK, ("cv_timedwait did not timeout")); + mtx_assert(&Giant, MA_OWNED | MA_NOTRECURSED); + error = cv_timedwait_sig(&cv, &Giant, 1); + KASSERT(error == EWOULDBLOCK, ("cv_timedwait_sig did not timeout")); + mtx_assert(&Giant, MA_OWNED | MA_NOTRECURSED); + callout_reset(&c, 1, broadcast, &cv); + printf("Testing cv_wait with Giant\n"); + cv_wait(&cv, &Giant); + mtx_assert(&Giant, MA_OWNED | MA_NOTRECURSED); + callout_reset(&c, 1, broadcast, &cv); + printf("Testing cv_wait_sig with Giant\n"); + cv_wait_sig(&cv, &Giant); + mtx_unlock(&Giant); + mtx_assert(&Giant, MA_NOTOWNED); + cv_destroy(&cv); +} +CRASH_EVENT("use Giant for sleep interlock", sleeping_with_Giant); + +static void pause_forever(void) { struct thread *td; @@ -163,7 +233,7 @@ sleepq_add(&race_wchan, NULL, "race", SLEEPQ_SLEEP, 0); sleepq_set_timeout(&race_wchan, 1); DELAY(2 * 1000 * 1000); - rval = sleepq_timedwait(&race_wchan); + rval = sleepq_timedwait(&race_wchan, 0); binuptime(&finish); thread_lock(td); sched_unbind(td); ==== //depot/projects/smpng/sys/modules/crash2/crash2.c#23 (text+ko) ==== @@ -244,10 +244,10 @@ if (thread % 2) sx_xlock(sxs[thread % 4]); else - lockmgr(locks[thread % 4], LK_EXCLUSIVE, NULL, curthread); + lockmgr(locks[thread % 4], LK_EXCLUSIVE, NULL); pause("slp_dead", hz/10); if (thread % 2) - lockmgr(locks[(thread + 1) % 4], LK_SHARED, NULL, curthread); + lockmgr(locks[(thread + 1) % 4], LK_SHARED, NULL); else sx_slock(sxs[(thread + 1) % 4]); } @@ -258,9 +258,9 @@ lockmgr_deadlock(int thread) { - lockmgr(locks[thread % 4], LK_EXCLUSIVE, NULL, curthread); + lockmgr(locks[thread % 4], LK_EXCLUSIVE, NULL); pause("lk_dead", hz/10); - lockmgr(locks[(thread + 1) % 4], LK_EXCLUSIVE, NULL, curthread); + lockmgr(locks[(thread + 1) % 4], LK_EXCLUSIVE, NULL); } CRASH2_EVENT("lockmgr cycle", lockmgr_deadlock, lockmgr_deadlock, lockmgr_deadlock, lockmgr_deadlock); From owner-p4-projects@FreeBSD.ORG Thu Aug 7 20:44:07 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 663F21065675; Thu, 7 Aug 2008 20:44:07 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2A579106566B for ; Thu, 7 Aug 2008 20:44:07 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 178078FC18 for ; Thu, 7 Aug 2008 20:44:07 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m77Ki6de010883 for ; Thu, 7 Aug 2008 20:44:06 GMT (envelope-from gk@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m77Ki6QC010881 for perforce@freebsd.org; Thu, 7 Aug 2008 20:44:06 GMT (envelope-from gk@FreeBSD.org) Date: Thu, 7 Aug 2008 20:44:06 GMT Message-Id: <200808072044.m77Ki6QC010881@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gk@FreeBSD.org using -f From: Gleb Kurtsou To: Perforce Change Reviews Cc: Subject: PERFORCE change 146860 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: Thu, 07 Aug 2008 20:44:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=146860 Change 146860 by gk@gk_h1 on 2008/08/07 20:43:57 simplify ethernet stateful filtering add 'state-options ether' option to create ethernet state remove now unneeded IPFW_EA_FLOW since now ethernet addresses from packet are used to create a state Affected files ... .. //depot/projects/soc2008/gk_l2filter/sbin-ipfw/ipfw2.c#10 edit .. //depot/projects/soc2008/gk_l2filter/sys-netinet/ip_fw.h#11 edit .. //depot/projects/soc2008/gk_l2filter/sys-netinet/ip_fw2.c#15 edit Differences ... ==== //depot/projects/soc2008/gk_l2filter/sbin-ipfw/ipfw2.c#10 (text+ko) ==== @@ -189,6 +189,11 @@ { NULL, 0 } }; +static struct _s_x f_stateopts[] = { + { "ether", IP_FW_STATEOPT_ETHER}, + { NULL, 0 } +}; + static struct _s_x limit_masks[] = { {"all", DYN_SRC_ADDR|DYN_SRC_PORT|DYN_DST_ADDR|DYN_DST_PORT}, {"src-addr", DYN_SRC_ADDR}, @@ -358,6 +363,8 @@ TOK_FIB, TOK_SETFIB, + TOK_STATEOPTS, + TOK_ARP_OP, TOK_ARP_SRC, TOK_ARP_DST, @@ -515,6 +522,8 @@ { "dst-ip6", TOK_DSTIP6}, { "src-ipv6", TOK_SRCIP6}, { "src-ip6", TOK_SRCIP6}, + { "state-options", TOK_STATEOPTS }, + { "state-opts", TOK_STATEOPTS }, { "arp-op", TOK_ARP_OP}, { "src-arp", TOK_ARP_SRC}, { "dst-arp", TOK_ARP_DST}, @@ -2054,6 +2063,10 @@ comment = (char *)(cmd + 1); break; + case O_STATEOPTS: + print_flags("state-options", cmd, f_stateopts); + break; + case O_KEEP_STATE: printf(" keep-state"); break; @@ -5737,6 +5750,14 @@ ac--; av++; break; + case TOK_STATEOPTS: + NEED1("missing argument for state-options"); + fill_flags(cmd, O_STATEOPTS, f_stateopts, *av); + if ((cmd->arg1 >> 8) & 0xff) /* clear flags specified */ + errx(EX_DATAERR, "invalid state-options %s", *av); + ac--; av++; + break; + case TOK_ARP_SRC: case TOK_ARP_DST: NEED1("missing lookup table argument"); ==== //depot/projects/soc2008/gk_l2filter/sys-netinet/ip_fw.h#11 (text+ko) ==== @@ -164,6 +164,8 @@ O_SETFIB, /* arg1=FIB number */ O_FIB, /* arg1=FIB desired fib number */ + O_STATEOPTS, + /* * ARP opcodes */ @@ -273,7 +275,6 @@ #define IPFW_EA_CHECK 0x01 #define IPFW_EA_MULTICAST 0x02 -#define IPFW_EA_FLOW 0x04 typedef struct _ipfw_ether_addr { u_char octet[6]; @@ -545,6 +546,11 @@ #define ICMP6_UNREACH_RST 0x100 /* fake ICMPv6 code (send a TCP RST) */ /* + * Definitions for state (dynamic rule) option names. + */ +#define IP_FW_STATEOPT_ETHER 0x01 + +/* * These are used for lookup tables. */ typedef struct _ipfw_table_entry { ==== //depot/projects/soc2008/gk_l2filter/sys-netinet/ip_fw2.c#15 (text+ko) ==== @@ -152,7 +152,7 @@ ipfw_nat_cfg_t *ipfw_nat_get_log_ptr; static __inline int ether_addr_allow(ipfw_ether_addr *want, - struct ether_addr *ea) + ipfw_ether_addr *a) { static ipfw_ether_addr mask = { .octet = { 0xff, 0xff, 0xff, 0xff, 0xff,0xff }, @@ -160,27 +160,27 @@ }; if ((want->flags & IPFW_EA_CHECK) == 0) return (1); + + if ((a->flags & IPFW_EA_CHECK) == 0) + return (0); + if (want->flags & IPFW_EA_MULTICAST) { - return (ETHER_IS_MULTICAST(ea->octet)); + return (ETHER_IS_MULTICAST(a->octet)); } #define EA_CMP(a) (*((u_int64_t*)(a)) & *((u_int64_t*)&mask)) - return (EA_CMP(want) == EA_CMP(ea)); + return (EA_CMP(want) == EA_CMP(a)); #undef EA_CMP } static __inline int ether_addr_allow_dyn(ipfw_ether_addr *want, ipfw_ether_addr *a) { - if (a->flags & IPFW_EA_CHECK) { - /* dynamic rule is being added. check is performed already */ - return (1); - } - if ((a->flags & IPFW_EA_FLOW) == 0) { + if ((a->flags & IPFW_EA_CHECK) == 0) { if (want->flags & IPFW_EA_CHECK) printf("ipfw: no tag: %6D (want %6D)\n", a->octet, ":", want->octet, ":"); return (1); } - return (ether_addr_allow(want, (struct ether_addr *)a->octet)); + return (ether_addr_allow(want, a)); } struct table_entry { @@ -1369,7 +1369,7 @@ * - "parent" rules for the above (O_LIMIT_PARENT). */ static ipfw_dyn_rule * -add_dyn_rule(struct ipfw_flow_id *id, u_int8_t dyn_type, struct ip_fw *rule) +add_dyn_rule(struct ipfw_flow_id *id, u_int8_t dyn_type, struct ip_fw *rule, uint32_t stateopts) { ipfw_dyn_rule *r; int i; @@ -1401,6 +1401,10 @@ } r->id = *id; + if ((stateopts & IP_FW_STATEOPT_ETHER) == 0) { + r->id.src_ether.flags = 0; + r->id.dst_ether.flags = 0; + } r->expire = time_uptime + dyn_syn_lifetime; r->rule = rule; r->dyn_type = dyn_type; @@ -1424,7 +1428,7 @@ * If the lookup fails, then install one. */ static ipfw_dyn_rule * -lookup_dyn_parent(struct ipfw_flow_id *pkt, struct ip_fw *rule) +lookup_dyn_parent(struct ipfw_flow_id *pkt, struct ip_fw *rule, uint32_t stateopts) { ipfw_dyn_rule *q; int i; @@ -1456,7 +1460,7 @@ return q; } } - return add_dyn_rule(pkt, O_LIMIT_PARENT, rule); + return add_dyn_rule(pkt, O_LIMIT_PARENT, rule, stateopts); } /** @@ -1466,7 +1470,7 @@ * session limitations are enforced. */ static int -install_state(struct ip_fw *rule, ipfw_insn_limit *cmd, +install_state(struct ip_fw *rule, uint32_t stateopts, ipfw_insn_limit *cmd, struct ip_fw_args *args, uint32_t tablearg) { static int last_log; @@ -1513,7 +1517,7 @@ switch (cmd->o.opcode) { case O_KEEP_STATE: /* bidir rule */ - add_dyn_rule(&args->f_id, O_KEEP_STATE, rule); + add_dyn_rule(&args->f_id, O_KEEP_STATE, rule, stateopts); break; case O_LIMIT: { /* limit number of sessions */ @@ -1554,7 +1558,7 @@ id.src_port = args->f_id.src_port; if (limit_mask & DYN_DST_PORT) id.dst_port = args->f_id.dst_port; - if ((parent = lookup_dyn_parent(&id, rule)) == NULL) { + if ((parent = lookup_dyn_parent(&id, rule, stateopts)) == NULL) { printf("ipfw: %s: add parent failed\n", __func__); IPFW_DYN_UNLOCK(); return (1); @@ -1601,7 +1605,7 @@ return (1); } } - add_dyn_rule(&args->f_id, O_LIMIT, (struct ip_fw *)parent); + add_dyn_rule(&args->f_id, O_LIMIT, (struct ip_fw *)parent, stateopts); break; } default: @@ -1899,7 +1903,7 @@ static int lookup_table(struct ip_fw_chain *ch, uint16_t tbl, in_addr_t addr, - struct ether_addr *ea, ipfw_ether_addr *val_ea, uint32_t *val) + ipfw_ether_addr *ea, uint32_t *val) { struct radix_node_head *rnh; struct table_entry *ent; @@ -1916,8 +1920,6 @@ return (0); /* use address to create dynamic rule */ *val = ent->value; - if (val_ea != NULL) - *val_ea = ent->ether_addr; return (1); } return (0); @@ -2263,14 +2265,14 @@ /* * if we have an ether header, */ - if (args->eh) { + if (args->eh != NULL) { etype = ntohs(args->eh->ether_type); memcpy(args->f_id.src_ether.octet, args->eh->ether_shost, ETHER_ADDR_LEN); - args->f_id.src_ether.flags = IPFW_EA_FLOW; + args->f_id.src_ether.flags = IPFW_EA_CHECK; memcpy(args->f_id.dst_ether.octet, args->eh->ether_dhost, ETHER_ADDR_LEN); - args->f_id.dst_ether.flags = IPFW_EA_FLOW; + args->f_id.dst_ether.flags = IPFW_EA_CHECK; } else { args->f_id.src_ether.flags = 0; args->f_id.dst_ether.flags = 0; @@ -2554,6 +2556,7 @@ for (; f; f = f->next) { ipfw_insn *cmd; uint32_t tablearg = 0; + uint32_t stateopts = 0; int l, cmdlen, skip_or; /* skip rest of OR block */ again: @@ -2640,17 +2643,10 @@ if (args->eh != NULL) { /* have ethernet header */ ipfw_ether_addr *want = &(((ipfw_insn_ether *)cmd)->ether); - match = ether_addr_allow(want, (struct ether_addr *) - (cmd->opcode == O_ETHER_SRC ? - args->eh->ether_shost : - args->eh->ether_dhost)); - if (match) { - /* use address to create dynamic rule */ - ipfw_ether_addr *a = (cmd->opcode == O_ETHER_SRC ? - &args->f_id.src_ether : - &args->f_id.dst_ether); - *a = *want; - } + ipfw_ether_addr *a = (cmd->opcode == O_ETHER_SRC ? + &args->f_id.src_ether : + &args->f_id.dst_ether); + match = ether_addr_allow(want, a); } break; @@ -2703,22 +2699,17 @@ case O_IP_SRC_LOOKUP: case O_IP_DST_LOOKUP: if (is_ipv4) { - struct ether_addr *ea = NULL; + ipfw_ether_addr *ea = + (cmd->opcode == O_IP_DST_LOOKUP ? + &args->f_id.dst_ether : + &args->f_id.src_ether); uint32_t a = (cmd->opcode == O_IP_DST_LOOKUP) ? dst_ip.s_addr : src_ip.s_addr; uint32_t v; - if (args->eh) { - ea = (struct ether_addr*)((cmd->opcode == O_IP_DST_LOOKUP) ? - args->eh->ether_dhost : - args->eh->ether_shost); - } match = lookup_table(chain, cmd->arg1, a, - ea, (cmd->opcode == O_IP_DST_LOOKUP ? - &args->f_id.dst_ether : - &args->f_id.src_ether), - &v); + ea, &v); if (!match) break; if (cmdlen == F_INSN_SIZE(ipfw_insn_u32)) @@ -3110,6 +3101,15 @@ match = 1; break; + case O_STATEOPTS: + if ((cmd->arg1 & IP_FW_STATEOPT_ETHER)) { + match = (args->eh != NULL); + if (!match) + break; + } + stateopts = cmd->arg1 & 0xff; + break; + case O_ARP_OP: case O_ARP_SRC_LOOKUP: case O_ARP_DST_LOOKUP: @@ -3139,7 +3139,7 @@ match = (op >= p[0] && op <= p[1]); } else { - struct ether_addr *ha; + ipfw_ether_addr ha; uint32_t pa, v; /* @@ -3163,23 +3163,25 @@ /* * Ignore hardware address for requests */ - ha = (op == ARPOP_REQUEST ? NULL : - (struct ether_addr *) ar_tha(ah)); + if (op != ARPOP_REQUEST) { + memcpy(ha.octet, ar_tha(ah), ETHER_ADDR_LEN); + ha.flags = IPFW_EA_CHECK; + } else { + ha.flags = 0; + } } else { pa = *(uint32_t *) ar_spa(ah); - ha = (struct ether_addr *) ar_sha(ah); + memcpy(ha.octet, ar_sha(ah), ETHER_ADDR_LEN); + ha.flags = IPFW_EA_CHECK; } - if (ha) - printf("ipfw: arp: %s: op = %d: %6D %s\n", - cmd->opcode == O_ARP_DST_LOOKUP ? "dst" : "src", - op, ha, ":", inet_ntoa(*(struct in_addr *)&pa)); - else - printf("ipfw: arp: %s: op = %d: NULL %s\n", - cmd->opcode == O_ARP_DST_LOOKUP ? "dst" : "src", - op, inet_ntoa(*(struct in_addr *)&pa)); - - match = lookup_table(chain, cmd->arg1, pa, ha, NULL, &v); + match = lookup_table(chain, cmd->arg1, pa, + (ha.flags ? &ha : NULL), &v); + printf("ipfw: %s arp: %s: op = %d: %6D(%d) %s\n", + (match ? "pass" : "drop"), + cmd->opcode == O_ARP_DST_LOOKUP ? "dst" : "src", + op, ha.octet, ":", ha.flags, + inet_ntoa(*(struct in_addr *)&pa)); if (!match) break; if (cmdlen == F_INSN_SIZE(ipfw_insn_u32)) @@ -3263,7 +3265,7 @@ */ case O_LIMIT: case O_KEEP_STATE: - if (install_state(f, + if (install_state(f, stateopts, (ipfw_insn_limit *)cmd, args, tablearg)) { retval = IP_FW_DENY; goto done; /* error/limit violation */ @@ -3947,6 +3949,7 @@ #endif case O_IP4: case O_TAG: + case O_STATEOPTS: if (cmdlen != F_INSN_SIZE(ipfw_insn)) goto bad_size; break; From owner-p4-projects@FreeBSD.ORG Thu Aug 7 21:06:33 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 207F91065678; Thu, 7 Aug 2008 21:06:33 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C1B071065672 for ; Thu, 7 Aug 2008 21:06:32 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id AE82B8FC1F for ; Thu, 7 Aug 2008 21:06:32 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m77L6WWn023216 for ; Thu, 7 Aug 2008 21:06:32 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m77L6WtL023214 for perforce@freebsd.org; Thu, 7 Aug 2008 21:06:32 GMT (envelope-from pgj@FreeBSD.org) Date: Thu, 7 Aug 2008 21:06:32 GMT Message-Id: <200808072106.m77L6WtL023214@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 146865 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: Thu, 07 Aug 2008 21:06:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=146865 Change 146865 by pgj@disznohal on 2008/08/07 21:06:14 MFen: 1.1075 -> 1.1089 hu_HU.ISO8859-2/books/faq/book.sgml Affected files ... .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/faq/book.sgml#9 edit Differences ... ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/faq/book.sgml#9 (text+ko) ==== @@ -7,7 +7,7 @@ @@ -18,7 +18,7 @@ A &os; Dokumentációs Projekt - $FreeBSD: doc/en_US.ISO8859-1/books/faq/book.sgml,v 1.1050 2008/07/05 03:12:14 pgj Exp $ + $FreeBSD$ 1995 @@ -878,7 +878,7 @@ A dokumentum nyelv és karakterkódolása alapján. Ezeket a &os; rendszerekben, a - /usr/share/locale + /usr/share/locale könyvtárban megtalálható nyelvi beállítások nevei szerint adjuk meg. Jelenleg a következõ nyelveken @@ -1182,7 +1182,8 @@ Ennek megfelelõen tehát a kézikönyv BZip2-vel tömörített &postscript; - változata a handbook/ + változata a handbook/ könyvtáron belül book.ps.bz2 néven található. @@ -1700,7 +1701,7 @@ Indítsuk el a DOS-t, lépjünk be a &os; terjesztéshez tartozó tools + class="directory">tools könyvtárba és keressük meg a bootinst.exe nevû állományt. Indítsuk el a @@ -2367,9 +2368,9 @@ legyen dolgozni (a rendszermag forrásaira vonatkozó megszorítások miatt azonban azt javasoljuk, hogy ezt közvetlenül ne a - /usr/src könyvtárba - csatlakoztassuk, hanem egy másik helyre, ahol - aztán szimbolikus linkek + /usr/src + könyvtárba csatlakoztassuk, hanem egy + másik helyre, ahol aztán szimbolikus linkek segítségével másoljuk le a forráskód könyvtárszerkezetének legfelsõ @@ -5084,13 +5085,13 @@ /etc/resolv.conf állományból. Ez gyakran okoz késlekedést az SSH - mûködésében, mivel az - /etc/ssh könyvtárban - található sshd_config - állományban alapértelmezés - szerint a UseDNS - beállítás értéke - yes (tehát a + mûködésében, mivel az /etc/ssh + könyvtárban található + sshd_config állományban + alapértelmezés szerint a + UseDNS beállítás + értéke yes (tehát a névfeloldás használata engedélyezett). Ha valóban ez okozza a problémát, akkor a pótoljuk az @@ -5844,13 +5845,14 @@ feliratkozunk a &a.announce; címére. A legtöbb portnak mûködnie kell a - 6.X, 7.X - és 8.X ágak - használata esetén is. Mindegyik &os; - kiadás elkészítésekor - készül egy pillanatfelvétel a portokat - tartalmazó könyvtárról és - bekerül a ports/ + 6.X, + 7.X és + 8.X ágak használata + esetén is. Mindegyik &os; kiadás + elkészítésekor készül egy + pillanatfelvétel a portokat tartalmazó + könyvtárról és bekerül a + ports/ könyvtárba. Ezenkívül még csomagok @@ -5876,13 +5878,13 @@ csomagok leginkább a .tgz és .tbz kiterjesztésükrõl lehet megismerni, - valamint a telepítõ CD-ken a - packages/All könyvtárban - találhatóak. Az interneten keresztül is - le tudjuk tölteni ezek közül a &os; - különbözõ verzióihoz - tartozó változatukat a hozzánk - legközelebbi + valamint a telepítõ CD-ken a packages/All + könyvtárban találhatóak. Az + interneten keresztül is le tudjuk tölteni ezek + közül a &os; különbözõ + verzióihoz tartozó változatukat a + hozzánk legközelebbi tükrözésekrõl: @@ -6298,11 +6300,12 @@ Az új kernel állomány a hozzátartozó - modulokkal együtt a - /boot/kernel könyvtárba - települ, míg a rendszermag korábbi - változata és a moduljai a - /boot/kernel.old + modulokkal együtt a /boot/kernel + könyvtárba települ, míg a + rendszermag korábbi változata és a + moduljai a /boot/kernel.old könyvtárba kerül át, így ha netalán valamit elrontottunk volna, akkor a rendszermag korábbi változatának @@ -6632,9 +6635,9 @@ átmásolására. Sajnos nem lehet csak úgy vakon átmásolni ezeket egyik lemezrõl a másikra. Ilyenkor ugyanis bizonyos - dolgok (például a /dev - könyvtárban található - eszközleírók, az + dolgok (például a /dev könyvtárban + található eszközleírók, az állományjelzõk és a linkek, stb.) hajlamosak elromlani. Ezért ehhez olyan eszközökre lesz szükségünk, @@ -6684,8 +6687,8 @@ - Például, ha a - /mnt + Például, ha a /mnt könyvtárba csatlakoztatott /dev/ad1s1a eszközrõl akarjuk átvinni a jelenlegi @@ -6701,17 +6704,17 @@ dump parancs segítségével a partícióinkat is át akarjuk szervezni. - Például a /var - partíciót úgy tudjuk beleolvasztani a - tövébe, ha létrehozunk egy olyan - partíciót, amely mind a kettõ - számára elegendõ nagy, majd a fentebb - leírt módszerrel elõször - átmozgatjuk a tövét, utána pedig - átmozgatjuk az alpartíció - tartalmát az elsõ mozgatás során - létrejött egyik üres - könyvtárba: + Például a /var partíciót + úgy tudjuk beleolvasztani a tövébe, ha + létrehozunk egy olyan partíciót, amely + mind a kettõ számára elegendõ nagy, + majd a fentebb leírt módszerrel + elõször átmozgatjuk a tövét, + utána pedig átmozgatjuk az + alpartíció tartalmát az elsõ + mozgatás során létrejött egyik + üres könyvtárba: &prompt.root; newfs /dev/ad1s1a &prompt.root; mount /dev/ad1s1a /mnt @@ -6721,11 +6724,12 @@ &prompt.root; dump 0af - /var | restore xf - Egy könyvtárat, például - /var tartalmát pedig úgy - tudunk leválasztani a tövérõl, - vagyis átrakni egy korábban nem - létezõ partícióra, ha - elõször létrehozzuk mind a két + /var tartalmát + pedig úgy tudunk leválasztani a + tövérõl, vagyis átrakni egy + korábban nem létezõ + partícióra, ha elõször + létrehozzuk mind a két partíciót, csatlakoztatjuk a leendõ alpartíciót az ideiglenes csatlakozási ponton belül a megfelelõ könyvtárba @@ -6996,10 +7000,11 @@ ritkán változnak fontos információk. A /boot/kernel/kernel és az - /etc egyedül a rendszer - karbantartása során frissül, vagy - például amikor a felhasználók - jelszót változtatnak. Ha a rendszer egy ilyen + /etc egyedül a + rendszer karbantartása során frissül, + vagy például amikor a + felhasználók jelszót + változtatnak. Ha a rendszer egy ilyen változtatás harminc másodperces idején belül omlik össze, akkor megvan rá az esélyünk, hogy elvesznek az @@ -7015,14 +7020,15 @@ hagyományosan az egyik legkisebb partíció. Ha viszont az ideiglenes állományok tárolására - szánt /tmp + szánt /tmp könyvtárat is ezen belülre tesszük és gyakran használjuk, akkor ebből idõszakosan tárhelyproblémáink adódhatnak. Könnyen megoldhatjuk azonban ezt a - problémát, ha a /tmp - könyvtárhoz létrehoznunk egy szimbolikus - linket a /var/tmp + problémát, ha a /tmp könyvtárhoz + létrehoznunk egy szimbolikus linket a /var/tmp könyvtárra. @@ -7207,9 +7213,9 @@ egy E betûjelû logikai partíciónk a második SCSI-meghajtónkon, akkor lennie kell egy - ötödik slice-nak a - /dev könyvtárban, amelyet - majd csatlakoztatni tudunk: + ötödik slice-nak a /dev könyvtárban, + amelyet majd csatlakoztatni tudunk: &prompt.root; mount -t msdos /dev/da1s5 /dos/e @@ -7454,10 +7460,10 @@ Ez az szabványos boot managerrel csak úgy lehet megoldani, ha újratelepítjük. A - portok között viszont a - sysutils kategóriában - rengeteg olyan más boot managert találhatunk, - amely tud ilyet is. + portok között viszont a sysutils + kategóriában rengeteg olyan más boot + managert találhatunk, amely tud ilyet is. @@ -7910,11 +7916,12 @@ archiválását és váltását. Ilyenkor a hozzáférések naplózása - gyorsan meg tudja tölteni a /var - könyvtárat. Ekkor a rendszergazda törli az - adott állományt, de a rendszer még - mindig panaszkodik a szabad hely hiánya miatt. A - webszerver leállítása és + gyorsan meg tudja tölteni a /var könyvtárat. + Ekkor a rendszergazda törli az adott + állományt, de a rendszer még mindig + panaszkodik a szabad hely hiánya miatt. A webszerver + leállítása és újraindítása ekkor segít felszabadítani az állományt, így az állományrendszerrõl is @@ -8010,14 +8017,15 @@ Az ezzel kapcsolatos beállítások - elsõsorban az /etc/defaults/rc.conf + elsõsorban az + /etc/defaults/rc.conf állományban találhatóak (lásd &man.rc.conf.5;). A rendszer indításáért felelõs - szkriptek, mint például az - /etc/rc vagy az - /etc/rc.d könyvtár tartalma - (lásd &man.rc.8;) ezt használja. + szkriptek, mint például az /etc/rc vagy az /etc/rc.d könyvtár + tartalma (lásd &man.rc.8;) ezt használja. Ezt az állományt tilos közvetlenül szerkeszteni! Ha valamit meg akarunk változtatni az @@ -8038,7 +8046,8 @@ Ha helyi szolgáltatásokat akarunk futtatni, akkor tegyük a hozzátartozó - szkripteket az /usr/local/etc/rc.d + szkripteket az /usr/local/etc/rc.d könyvtárba. Ezek a szkriptek legyenek végrehajthatóak és az alapértelmezett állománymóduk @@ -8338,7 +8347,7 @@ - Az / + Az / állományrendszeren nem engedélyezzük a kvóták használatát. @@ -8362,12 +8371,12 @@ - /usr + /usr /usr/admin/quotas - /home + /home /home/admin/quotas @@ -8687,53 +8696,30 @@ ssh, X esetleg screen felhasználónk van, akkor könnyen elõfordulhat, hogy kifogyunk a - pszeudoterminálokból. Így tudjuk - növelni a számukat: + pszeudoterminálokból. A &os; 6.2 + és az azt megelõzõ változatokban + alapértelmezés szerint 256 + pszeudoterminál, a &os; 6.3 és + késõbbi változatokban pedig 512 + pszeudoterminál áll + rendelkezésünkre. - - - Fordítsunk és - telepítsünk egy új rendszermagot a - következõ beállítás - használatával: - - device pty N - - ahol az N a - létrehozni kívánt - pszeudoterminálok száma. - - - - Nyissuk meg az /etc/ttys - állományt és vegyünk fel - egy-egy sort mind az N - darab terminálhoz. Mindegyiküknek egy - már létezõ bejegyzéshez kell - tartoznia, tehát valahogy így kell - kinézniük: - - ttyqc none network - - A bejegyzéseket a - tty[pqrsPQRSlmnoLMNO][0123456789abcdefghijklmnopqrstuv] - reguláris kifejezéssel tudjuk - leírni. - - - - Indítsuk újra a rendszerünket - az új rendszermaggal és már - készen is vagyunk. - - - - - 256 darabnál több (egészen 512 - darab) &man.pty.4; használatához a &os; 6.3 - vagy késõbbi változatára lesz - szükségünk. - + + Szükség esetén további + pszeudoterminálok is hozzáadhatóak a + rendszerhez. Ehhez azonban módosítanunk + kell a szabványos C + függvénykönyvtárakat, a + rendszermagot és az /etc/ttys + állományt. Például a + 1152 pszeudoterminál használatát + teszi lehetõvé. Ez a konkrét + javítás viszont csak a &os; 6.3 + és késõbbi változatok + esetén alkalmazható + zökkenõmentesen. + @@ -8955,10 +8941,11 @@ A &man.rpc.statd.8; tehát leképezi az állapotát rögzítõ - állományt (amely a /var - könyvtárban található a - címterébe. Ilyenkor igyekszik egy kicsit - elõre gondolkodni és felkészülni a + állományt (amely a /var könyvtárban + található a címterébe. Ilyenkor + igyekszik egy kicsit elõre gondolkodni és + felkészülni a megnövekedésére, ezért viszonylag nagy méretben hozza létre ezt a leképezést. Ezt nagyon jól @@ -9203,18 +9190,20 @@ - Mi az a /var/empty? Nem lehet + Mi az a /var/empty? Nem lehet letörölni! - A /var/empty könyvtárat - a &man.sshd.8; program használja a privilégiumok - elkülönítéséhez. A - /var/empty könyvtárnak - üresnek kell lennie, legyen a root - tulajdonában és legyen rajta a - schg + A /var/empty + könyvtárat a &man.sshd.8; program használja + a privilégiumok + elkülönítéséhez. A /var/empty + könyvtárnak üresnek kell lennie, legyen a + root tulajdonában és + legyen rajta a schg állományjelzõ. Noha nem semmiképpen sem javasoljuk a @@ -9225,9 +9214,8 @@ oldalán olvashatunk ezzel kapcsolatban részletesebb információkat (azonban ne felejtsük el számításba - venni az esetleges - nehézségeket). + linkend="unsetting-schg">számításba venni az esetleges nehézségeket). + @@ -9808,7 +9796,8 @@ másikban pdig egyszerûen az rc.local állományból (lásd &man.rc.8;) - vagy a /usr/local/etc/rc.d + vagy a /usr/local/etc/rc.d könyvtárban megadható X szkripttel. Mind a kettõ ugyanazt képviseli, de vannak bizonyos helyzetek, @@ -11522,16 +11511,18 @@ nem részei az alaprendszernek (például a portként vagy csomagként telepített parancsértelmezõk esetén) és - ezért a /usr/local/bin + ezért a /usr/local/bin könyvtárba fognak kerülni. Ez a könyvtár alapértelmezés szerint azonban egy külön állományrendszeren található. Ha a root - parancsértelmezõje viszont a - /usr/local/bin könyvtárban - lenne, miközben a /usr (vagy - bármelyik más állományrendszer, - amely az imént említett könyvtárat + parancsértelmezõje viszont a /usr/local/bin + könyvtárban lenne, miközben a /usr (vagy bármelyik + más állományrendszer, amely az + imént említett könyvtárat tartalmazza) nem csatlakoztatható valamilyen oknál fogva, akkor a root nem lenne képes bejelentkezni és kijavítani @@ -13420,7 +13411,8 @@ és a dialer csoporton keresztül tudnak hozzáférni a mûködésükhöz - szükséges /var/spool/lock + szükséges /var/spool/lock könyvtárhoz. A dialer csoport segítségével lehet szabályozni, hogy ki férhessen hozzá a @@ -13448,7 +13440,7 @@ A &os; kézikönyvben lásd ezt + url="&url.books.handbook;/dialout.html#HAYES-UNSUPPORTED">ezt a választ. @@ -13474,7 +13466,7 @@ A &os; kézikönyvben lásd ezt + url="&url.books.handbook;/dialout.html#GT-FAILURE">ezt a választ. @@ -13487,7 +13479,7 @@ A &os; kézikönyvben lásd ezt + url="&url.books.handbook;/dialout.html#DIAL-COMMAND-LINE">ezt a választ. @@ -13500,7 +13492,7 @@ A &os; kézikönyvben lásd ezt + url="&url.books.handbook;/dialout.html#SET-BPS">ezt a választ. @@ -13514,7 +13506,7 @@ A &os; kézikönyvben lásd ezt + url="&url.books.handbook;/dialout.html#TERMINAL-SERVER">ezt a választ. @@ -13528,7 +13520,7 @@ A &os; kézikönyvben lásd ezt + url="&url.books.handbook;/dialout.html#TIP-MULTILINE">ezt a választ. @@ -13543,7 +13535,7 @@ A &os; kézikönyvben lásd ezt + url="&url.books.handbook;/dialout.html#MULTI-CONTROLP">ezt a választ. @@ -13555,7 +13547,7 @@ A &os; kézikönyvben lásd ezt + url="&url.books.handbook;/dialout.html#UPPERCASE">ezt a választ. @@ -13568,7 +13560,7 @@ A &os; kézikönyvben lásd ezt + url="&url.books.handbook;/dialout.html#TIP-FILETRANSFER">ezt a választ. @@ -13576,12 +13568,12 @@ Hogyan használható a zmodem protokoll a - tip programmal? + tip> programmal? A &os; kézikönyvben lásd ezt + url="&url.books.handbook;/dialout.html#ZMODEM-TIP">ezt a választ. @@ -13704,14 +13696,17 @@ könyvtár engedélyeit akarjuk megváltoztatni, akkor a &man.chmod.1; parancsnak ne adjunk meg semmilyen paramétert és a - nevet zárjuk perjellel (/). + nevet zárjuk perjellel (/). Például, ha az ize a - mize könyvtárra - mutató szimbolikus link, és meg akarjuk - változtatni az ize - engedélyeit (ami valójában a - mize engedélyeit jelenti), - akkor valami ilyesmit kellene megadnunk: + mize + könyvtárra mutató szimbolikus link, + és meg akarjuk változtatni az + ize engedélyeit (ami + valójában a mize engedélyeit + jelenti), akkor valami ilyesmit kellene + megadnunk: &prompt.user; chmod 555 ize/ @@ -13719,9 +13714,9 @@ perjelbõl a &man.chmod.1; tudni fogja, hogy követnie kell a foo szimbolikus linket és így az általa - hivatkozott könyvtár, a - mize engedélyeit fogja - megváltoztatni. + hivatkozott könyvtár, a mize engedélyeit + fogja megváltoztatni. @@ -14020,7 +14015,7 @@ EPS és XFig formátumú rajzok a /usr/share/examples/BSD_daemon/ + class="directory">/usr/share/examples/BSD_daemon/ könyvtárban vannak. @@ -15170,7 +15165,7 @@ értékét, az &man.rc.8; szkriptek maguktól lefuttatják a &man.savecore.8; parancsot és átrakják a mentést - a /var/crash + a /var/crash könyvtárba. @@ -15211,7 +15206,7 @@ használatával egy hívási láncot belõle: - &prompt.user; kgdb /usr/obj/usr/sys/RENDSZERMAGKONFIG/kernel.debug /var/crash/vmcore.0 + &prompt.user; kgdb /usr/obj/usr/sys/RENDSZERMAGKONFIG/kernel.debug /var/crash/vmcore.0 (kgdb) backtrace Elõfordulhat, hogy ilyenkor több oldalnyi From owner-p4-projects@FreeBSD.ORG Thu Aug 7 21:10:45 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 991EC1065670; Thu, 7 Aug 2008 21:10:45 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5A9DA106566B for ; Thu, 7 Aug 2008 21:10:45 +0000 (UTC) (envelope-from qingli@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4630A8FC15 for ; Thu, 7 Aug 2008 21:10:45 +0000 (UTC) (envelope-from qingli@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m77LAj7e023577 for ; Thu, 7 Aug 2008 21:10:45 GMT (envelope-from qingli@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m77LAa6R023540 for perforce@freebsd.org; Thu, 7 Aug 2008 21:10:36 GMT (envelope-from qingli@freebsd.org) Date: Thu, 7 Aug 2008 21:10:36 GMT Message-Id: <200808072110.m77LAa6R023540@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to qingli@freebsd.org using -f From: Qing Li To: Perforce Change Reviews Cc: Subject: PERFORCE change 146867 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: Thu, 07 Aug 2008 21:10:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=146867 Change 146867 by qingli@FreeBSD-newarp on 2008/08/07 21:10:28 IFC - sync'd to cl#146862 Affected files ... .. //depot/projects/arp-v2/src/LOCKS#3 integrate .. //depot/projects/arp-v2/src/MAINTAINERS#3 integrate .. //depot/projects/arp-v2/src/Makefile#5 integrate .. //depot/projects/arp-v2/src/Makefile.inc1#5 integrate .. //depot/projects/arp-v2/src/ObsoleteFiles.inc#4 integrate .. //depot/projects/arp-v2/src/UPDATING#4 integrate .. //depot/projects/arp-v2/src/bin/cp/utils.c#3 integrate .. //depot/projects/arp-v2/src/bin/echo/echo.c#2 integrate .. //depot/projects/arp-v2/src/bin/ln/ln.1#2 integrate .. //depot/projects/arp-v2/src/bin/ln/ln.c#2 integrate .. //depot/projects/arp-v2/src/bin/mv/mv.c#3 integrate .. //depot/projects/arp-v2/src/bin/ps/ps.c#2 integrate .. //depot/projects/arp-v2/src/bin/setfacl/setfacl.1#2 integrate .. //depot/projects/arp-v2/src/bin/sh/alias.c#2 integrate .. //depot/projects/arp-v2/src/bin/sh/eval.c#2 integrate .. //depot/projects/arp-v2/src/bin/sh/mknodes.c#2 integrate .. //depot/projects/arp-v2/src/bin/sh/parser.c#3 integrate .. //depot/projects/arp-v2/src/bin/stty/gfmt.c#2 integrate .. //depot/projects/arp-v2/src/bin/stty/print.c#2 integrate .. //depot/projects/arp-v2/src/cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h#2 integrate .. //depot/projects/arp-v2/src/cddl/lib/Makefile#3 integrate .. //depot/projects/arp-v2/src/cddl/lib/drti/Makefile#1 branch .. //depot/projects/arp-v2/src/cddl/lib/libctf/Makefile#1 branch .. //depot/projects/arp-v2/src/cddl/lib/libdtrace/Makefile#1 branch .. //depot/projects/arp-v2/src/cddl/lib/libdtrace/errno.d#1 branch .. //depot/projects/arp-v2/src/cddl/lib/libdtrace/net.d#1 branch .. //depot/projects/arp-v2/src/cddl/lib/libdtrace/nfs.d#1 branch .. //depot/projects/arp-v2/src/cddl/lib/libdtrace/psinfo.d#1 branch .. //depot/projects/arp-v2/src/cddl/lib/libdtrace/sched.d#1 branch .. //depot/projects/arp-v2/src/cddl/lib/libdtrace/signal.d#1 branch .. //depot/projects/arp-v2/src/cddl/lib/libdtrace/unistd.d#1 branch .. //depot/projects/arp-v2/src/cddl/usr.bin/Makefile#3 integrate .. //depot/projects/arp-v2/src/cddl/usr.bin/ctfconvert/Makefile#1 branch .. //depot/projects/arp-v2/src/cddl/usr.bin/ctfdump/Makefile#1 branch .. //depot/projects/arp-v2/src/cddl/usr.bin/ctfmerge/Makefile#1 branch .. //depot/projects/arp-v2/src/cddl/usr.bin/sgsmsg/Makefile#1 branch .. //depot/projects/arp-v2/src/cddl/usr.sbin/Makefile#3 integrate .. //depot/projects/arp-v2/src/cddl/usr.sbin/dtrace/Makefile#1 branch .. //depot/projects/arp-v2/src/contrib/bind9/CHANGES#2 integrate .. //depot/projects/arp-v2/src/contrib/bind9/FREEBSD-Upgrade#2 delete .. //depot/projects/arp-v2/src/contrib/bind9/FREEBSD-Xlist#2 delete .. //depot/projects/arp-v2/src/contrib/bind9/bin/named/client.c#2 integrate .. //depot/projects/arp-v2/src/contrib/bind9/bin/named/server.c#2 integrate .. //depot/projects/arp-v2/src/contrib/bind9/doc/arm/Bv9ARM-book.xml#2 integrate .. //depot/projects/arp-v2/src/contrib/bind9/doc/arm/Bv9ARM.ch06.html#2 integrate .. //depot/projects/arp-v2/src/contrib/bind9/doc/arm/Bv9ARM.pdf#2 integrate .. //depot/projects/arp-v2/src/contrib/bind9/lib/bind/aclocal.m4#2 delete .. //depot/projects/arp-v2/src/contrib/bind9/lib/bind/config.h.in#2 delete .. //depot/projects/arp-v2/src/contrib/bind9/lib/bind/configure#2 delete .. //depot/projects/arp-v2/src/contrib/bind9/lib/bind9/check.c#2 integrate .. //depot/projects/arp-v2/src/contrib/bind9/lib/dns/api#2 integrate .. //depot/projects/arp-v2/src/contrib/bind9/lib/dns/dispatch.c#2 integrate .. //depot/projects/arp-v2/src/contrib/bind9/lib/dns/include/dns/dispatch.h#2 integrate .. //depot/projects/arp-v2/src/contrib/bind9/lib/dns/resolver.c#2 integrate .. //depot/projects/arp-v2/src/contrib/bind9/version#2 integrate .. //depot/projects/arp-v2/src/contrib/binutils/bfd/coff-mips.c#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/bfd/cpu-mips.c#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/bfd/elf32-mips.c#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/bfd/elf64-mips.c#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/bfd/elfn32-mips.c#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/bfd/elfxx-mips.c#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/bfd/elfxx-mips.h#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/bfd/hosts/mipsbsd.h#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/bfd/hosts/mipsmach3.h#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/bfd/hosts/news-mips.h#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/bfd/mipsbsd.c#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/bfd/pe-mips.c#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/bfd/pei-mips.c#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/gas/config/e-mipsecoff.c#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/gas/config/e-mipself.c#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/gas/config/itbl-mips.h#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/gas/config/tc-mips.c#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/gas/config/tc-mips.h#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/gas/config/te-tmips.h#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/gas/doc/c-mips.texi#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/gprof/mips.c#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/include/coff/mips.h#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/include/coff/mipspe.h#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/include/opcode/mips.h#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/ld/emulparams/elf32bmipn32-defs.sh#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/ld/emulparams/elf32btsmip.sh#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/ld/emulparams/elf32btsmipn32.sh#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/ld/emulparams/elf32ltsmip.sh#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/ld/emulparams/elf32ltsmipn32.sh#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/ld/emulparams/elf32mipswindiss.sh#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/ld/emulparams/elf64btsmip.sh#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/ld/emulparams/elf64ltsmip.sh#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/ld/emulparams/mipsbig.sh#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/ld/emulparams/mipsbsd.sh#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/ld/emulparams/mipsidt.sh#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/ld/emulparams/mipsidtl.sh#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/ld/emulparams/mipslit.sh#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/ld/emulparams/mipslnews.sh#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/ld/emulparams/mipspe.sh#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/ld/emultempl/mipsecoff.em#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/ld/emultempl/mipself.em#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/ld/scripttempl/mips.sc#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/ld/scripttempl/mipsbsd.sc#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/opcodes/mips-dis.c#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/opcodes/mips-opc.c#1 branch .. //depot/projects/arp-v2/src/contrib/binutils/opcodes/mips16-opc.c#1 branch .. //depot/projects/arp-v2/src/contrib/cpio/ABOUT-NLS#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/COPYING#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/ChangeLog#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/INSTALL#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/NEWS#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/THANKS#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/TODO#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/doc/cpio.texi#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/doc/version.texi#1 branch .. //depot/projects/arp-v2/src/contrib/cpio/lib/alloca_.h#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/argp-ba.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/argp-eexst.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/argp-fmtstream.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/argp-fmtstream.h#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/argp-fs-xinl.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/argp-help.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/argp-namefrob.h#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/argp-parse.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/argp-pin.c#1 branch .. //depot/projects/arp-v2/src/contrib/cpio/lib/argp-pv.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/argp-pvh.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/argp-xinl.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/argp.h#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/basename.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/dirname.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/dirname.h#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/error.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/error.h#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/exit.h#2 delete .. //depot/projects/arp-v2/src/contrib/cpio/lib/exitfail.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/exitfail.h#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/fatal.c#1 branch .. //depot/projects/arp-v2/src/contrib/cpio/lib/full-write.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/full-write.h#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/getopt.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/getopt1.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/getopt_.h#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/getopt_int.h#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/gettext.h#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/hash.c#1 branch .. //depot/projects/arp-v2/src/contrib/cpio/lib/hash.h#1 branch .. //depot/projects/arp-v2/src/contrib/cpio/lib/intprops.h#1 branch .. //depot/projects/arp-v2/src/contrib/cpio/lib/inttostr.c#1 branch .. //depot/projects/arp-v2/src/contrib/cpio/lib/inttostr.h#1 branch .. //depot/projects/arp-v2/src/contrib/cpio/lib/localedir.h#2 delete .. //depot/projects/arp-v2/src/contrib/cpio/lib/mempcpy.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/mempcpy.h#2 delete .. //depot/projects/arp-v2/src/contrib/cpio/lib/paxerror.c#1 branch .. //depot/projects/arp-v2/src/contrib/cpio/lib/paxexit.c#1 branch .. //depot/projects/arp-v2/src/contrib/cpio/lib/paxlib.h#1 branch .. //depot/projects/arp-v2/src/contrib/cpio/lib/paxnames.c#1 branch .. //depot/projects/arp-v2/src/contrib/cpio/lib/quote.c#1 branch .. //depot/projects/arp-v2/src/contrib/cpio/lib/quote.h#1 branch .. //depot/projects/arp-v2/src/contrib/cpio/lib/quotearg.c#1 branch .. //depot/projects/arp-v2/src/contrib/cpio/lib/quotearg.h#1 branch .. //depot/projects/arp-v2/src/contrib/cpio/lib/rmt-command.h#1 branch .. //depot/projects/arp-v2/src/contrib/cpio/lib/rmt.h#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/rtapelib.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/safe-read.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/safe-read.h#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/safe-write.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/safe-write.h#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/savedir.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/savedir.h#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/strcase.h#2 delete .. //depot/projects/arp-v2/src/contrib/cpio/lib/strchrnul.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/strchrnul.h#2 delete .. //depot/projects/arp-v2/src/contrib/cpio/lib/stripslash.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/strndup.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/strndup.h#2 delete .. //depot/projects/arp-v2/src/contrib/cpio/lib/strnlen.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/system-ioctl.h#1 branch .. //depot/projects/arp-v2/src/contrib/cpio/lib/system.h#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/umaxtostr.c#1 branch .. //depot/projects/arp-v2/src/contrib/cpio/lib/unlocked-io.h#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/utimens.c#1 branch .. //depot/projects/arp-v2/src/contrib/cpio/lib/utimens.h#1 branch .. //depot/projects/arp-v2/src/contrib/cpio/lib/xalloc-die.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/xalloc.h#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/xmalloc.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/lib/xstrndup.c#1 branch .. //depot/projects/arp-v2/src/contrib/cpio/lib/xstrndup.h#1 branch .. //depot/projects/arp-v2/src/contrib/cpio/src/copyin.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/src/copyout.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/src/copypass.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/src/cpio.h#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/src/cpiohdr.h#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/src/defer.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/src/defer.h#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/src/dstring.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/src/dstring.h#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/src/extern.h#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/src/filemode.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/src/filetypes.h#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/src/global.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/src/idcache.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/src/main.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/src/makepath.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/src/tar.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/src/tar.h#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/src/tarhdr.h#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/src/userspec.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cpio/src/util.c#2 integrate .. //depot/projects/arp-v2/src/contrib/cvs/doc/HACKING.DOCS#2 integrate .. //depot/projects/arp-v2/src/contrib/cvs/src/classify.c#3 integrate .. //depot/projects/arp-v2/src/contrib/gcc/config/i386/freebsd.h#2 integrate .. //depot/projects/arp-v2/src/contrib/gdtoa/gethex.c#2 integrate .. //depot/projects/arp-v2/src/contrib/ipfilter/ip_fil.c#2 integrate .. //depot/projects/arp-v2/src/contrib/ipfilter/ipsend/iptests.c#2 integrate .. //depot/projects/arp-v2/src/contrib/ipfilter/ipsend/sock.c#2 integrate .. //depot/projects/arp-v2/src/contrib/ipfilter/lib/printnat.c#2 integrate .. //depot/projects/arp-v2/src/contrib/ipfilter/test/regress/n12#2 integrate .. //depot/projects/arp-v2/src/contrib/ipfilter/test/regress/n2#2 integrate .. //depot/projects/arp-v2/src/contrib/ipfilter/test/regress/n5#2 integrate .. //depot/projects/arp-v2/src/contrib/ipfilter/test/regress/ni1.nat#2 integrate .. //depot/projects/arp-v2/src/contrib/ipfilter/test/regress/ni2.nat#2 integrate .. //depot/projects/arp-v2/src/contrib/ipfilter/test/regress/ni4.nat#2 integrate .. //depot/projects/arp-v2/src/contrib/ipfilter/tools/ipnat_y.y#2 integrate .. //depot/projects/arp-v2/src/contrib/ncurses/FREEBSD-vendor#3 integrate .. //depot/projects/arp-v2/src/contrib/tcsh/tc.func.c#2 integrate .. //depot/projects/arp-v2/src/contrib/telnet/telnetd/state.c#2 integrate .. //depot/projects/arp-v2/src/contrib/telnet/telnetd/telnetd.c#2 integrate .. //depot/projects/arp-v2/src/contrib/top/top.X#2 integrate .. //depot/projects/arp-v2/src/contrib/top/top.c#4 integrate .. //depot/projects/arp-v2/src/crypto/openssh/ChangeLog#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/FREEBSD-Xlist#3 delete .. //depot/projects/arp-v2/src/crypto/openssh/FREEBSD-tricks#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/FREEBSD-upgrade#3 integrate .. //depot/projects/arp-v2/src/crypto/openssh/FREEBSD-vendor#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/INSTALL#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/LICENCE#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/Makefile.in#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/Makefile.inc#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/PROTOCOL#1 branch .. //depot/projects/arp-v2/src/crypto/openssh/PROTOCOL.agent#1 branch .. //depot/projects/arp-v2/src/crypto/openssh/README#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/README.platform#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/RFC.nroff#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/addrmatch.c#1 branch .. //depot/projects/arp-v2/src/crypto/openssh/atomicio.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/audit-bsm.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/auth-bsdauth.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/auth-chall.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/auth-krb5.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/auth-options.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/auth-options.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/auth-pam.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/auth-pam.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/auth-passwd.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/auth-rhosts.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/auth-rsa.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/auth-shadow.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/auth-sia.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/auth-skey.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/auth.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/auth.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/auth1.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/auth2-chall.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/auth2-gss.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/auth2-hostbased.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/auth2-kbdint.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/auth2-none.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/auth2-pubkey.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/auth2.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/bufaux.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/bufbn.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/buffer.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/buildpkg.sh.in#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/canohost.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/channels.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/channels.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/cipher-3des1.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/cipher-bf1.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/cipher-ctr.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/clientloop.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/clientloop.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/compat.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/compat.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/config.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/config.h.in#1 branch .. //depot/projects/arp-v2/src/crypto/openssh/config.sub#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/configure.ac#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/defines.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/dh.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/dh.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/dns.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/entropy.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/groupaccess.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/groupaccess.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/gss-genr.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/gss-serv.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/includes.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/install-sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/kex.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/kex.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/key.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/key.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/log.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/log.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/loginrec.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/mac.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/mac.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/match.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/match.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/mdoc2man.awk#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/misc.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/misc.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/moduli#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/moduli.5#1 branch .. //depot/projects/arp-v2/src/crypto/openssh/moduli.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/monitor.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/monitor.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/monitor_fdpass.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/monitor_fdpass.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/monitor_mm.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/monitor_wrap.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/monitor_wrap.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/mux.c#1 branch .. //depot/projects/arp-v2/src/crypto/openssh/myproposal.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/nchan.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/nchan.ms#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/nchan2.ms#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/Makefile.in#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/base64.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/bindresvport.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/bsd-arc4random.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/bsd-asprintf.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/bsd-cray.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/bsd-cygwin_util.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/bsd-getpeereid.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/bsd-misc.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/bsd-poll.c#1 branch .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/bsd-poll.h#1 branch .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/bsd-snprintf.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/bsd-statvfs.c#1 branch .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/bsd-statvfs.h#1 branch .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/fake-rfc2553.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/fake-rfc2553.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/fmt_scaled.c#1 branch .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/getrrsetbyname.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/getrrsetbyname.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/glob.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/glob.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/openbsd-compat.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/openssl-compat.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/openssl-compat.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/port-aix.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/port-aix.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/port-linux.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/port-linux.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/port-tun.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/port-uw.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/port-uw.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/regress/Makefile.in#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/regress/closefromtest.c#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/regress/snprintftest.c#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/regress/strduptest.c#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/regress/strtonumtest.c#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/rresvport.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/setenv.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/setproctitle.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/sigact.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/sys-queue.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/sys-tree.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/xcrypt.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/openbsd-compat/xmmap.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/openssh.xml.in#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/opensshd.init.in#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/packet.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/packet.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/readconf.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/readconf.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/regress/Makefile#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/README.regress#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/agent-getpeereid.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/agent-ptrace.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/agent-timeout.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/agent.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/banner.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/broken-pipe.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/brokenkeys.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/bsd.regress.mk#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/cfgmatch.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/cipher-speed.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/connect-privsep.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/connect.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/copy.1#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/copy.2#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/dsa_ssh2.prv#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/dsa_ssh2.pub#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/dynamic-forward.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/envpass.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/exit-status.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/forcecommand.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/forwarding.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/keygen-change.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/keyscan.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/login-timeout.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/multiplex.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/proto-mismatch.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/proto-version.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/proxy-connect.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/reconfigure.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/reexec.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/rekey.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/rsa_openssh.prv#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/rsa_openssh.pub#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/rsa_ssh2.prv#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/runtests.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/scp-ssh-wrapper.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/scp.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/sftp-badcmds.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/sftp-batch.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/sftp-cmds.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/sftp-glob.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/sftp.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/ssh-com-client.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/ssh-com-keygen.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/ssh-com-sftp.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/ssh-com.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/sshd-log-wrapper.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/stderr-after-eof.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/stderr-data.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/t4.ok#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/t5.ok#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/test-exec.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/transfer.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/try-ciphers.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/regress/yes-head.sh#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/scard-opensc.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/scard/Makefile.in#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/scard/Ssh.bin#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/scard/Ssh.bin.uu#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/scard/Ssh.java#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/scp.1#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/scp.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/servconf.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/servconf.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/serverloop.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/session.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/session.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/sftp-client.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/sftp-client.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/sftp-server-main.c#1 branch .. //depot/projects/arp-v2/src/crypto/openssh/sftp-server.8#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/sftp-server.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/sftp.1#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/sftp.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/sftp.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/ssh-add.1#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/ssh-add.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/ssh-agent.1#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/ssh-agent.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/ssh-gss.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/ssh-keygen.1#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/ssh-keygen.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/ssh-keyscan.1#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/ssh-keyscan.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/ssh-keysign.8#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/ssh-rand-helper.8#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/ssh-rand-helper.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/ssh.1#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/ssh.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/ssh_config#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/ssh_config.5#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/ssh_namespace.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/ssh_prng_cmds.in#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/sshconnect.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/sshconnect.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/sshconnect2.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/sshd.8#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/sshd.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/sshd_config#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/sshd_config.5#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/sshlogin.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/sshpty.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/sshpty.h#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/sshtty.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/survey.sh.in#2 delete .. //depot/projects/arp-v2/src/crypto/openssh/ttymodes.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/umac.c#1 branch .. //depot/projects/arp-v2/src/crypto/openssh/umac.h#1 branch .. //depot/projects/arp-v2/src/crypto/openssh/version.c#2 integrate .. //depot/projects/arp-v2/src/crypto/openssh/version.h#2 integrate .. //depot/projects/arp-v2/src/etc/Makefile#4 integrate .. //depot/projects/arp-v2/src/etc/defaults/bluetooth.device.conf#2 integrate .. //depot/projects/arp-v2/src/etc/defaults/rc.conf#5 integrate .. //depot/projects/arp-v2/src/etc/devd.conf#3 integrate .. //depot/projects/arp-v2/src/etc/etc.amd64/ttys#2 integrate .. //depot/projects/arp-v2/src/etc/etc.i386/ttys#2 integrate .. //depot/projects/arp-v2/src/etc/freebsd-update.conf#3 integrate .. //depot/projects/arp-v2/src/etc/isdn/Makefile#2 delete .. //depot/projects/arp-v2/src/etc/isdn/answer#2 delete .. //depot/projects/arp-v2/src/etc/isdn/holidays.D#2 delete .. //depot/projects/arp-v2/src/etc/isdn/isdnd.rates.A#2 delete .. //depot/projects/arp-v2/src/etc/isdn/isdnd.rates.D#2 delete .. //depot/projects/arp-v2/src/etc/isdn/isdnd.rates.F#2 delete .. //depot/projects/arp-v2/src/etc/isdn/isdnd.rates.L#2 delete .. //depot/projects/arp-v2/src/etc/isdn/isdnd.rates.UK.BT#2 delete .. //depot/projects/arp-v2/src/etc/isdn/isdnd.rc.sample#2 delete .. //depot/projects/arp-v2/src/etc/isdn/isdntel.alias.sample#2 delete .. //depot/projects/arp-v2/src/etc/isdn/isdntel.sh#2 delete .. //depot/projects/arp-v2/src/etc/isdn/record#2 delete .. //depot/projects/arp-v2/src/etc/isdn/tell#2 delete .. //depot/projects/arp-v2/src/etc/isdn/tell-record#2 delete .. //depot/projects/arp-v2/src/etc/isdn/unknown_incoming#2 delete .. //depot/projects/arp-v2/src/etc/mtree/BSD.include.dist#3 integrate .. //depot/projects/arp-v2/src/etc/mtree/BSD.root.dist#2 integrate .. //depot/projects/arp-v2/src/etc/mtree/BSD.usr.dist#2 integrate .. //depot/projects/arp-v2/src/etc/namedb/named.conf#3 integrate .. //depot/projects/arp-v2/src/etc/netstart#3 integrate .. //depot/projects/arp-v2/src/etc/network.subr#4 integrate .. //depot/projects/arp-v2/src/etc/pccard_ether#2 integrate .. //depot/projects/arp-v2/src/etc/periodic/security/800.loginfail#2 integrate .. //depot/projects/arp-v2/src/etc/ppp/ppp.conf#2 integrate .. //depot/projects/arp-v2/src/etc/rc#3 integrate .. //depot/projects/arp-v2/src/etc/rc.d/Makefile#4 integrate .. //depot/projects/arp-v2/src/etc/rc.d/NETWORKING#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/abi#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/amd#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/apmd#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/archdep#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/auto_linklocal#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/bgfsck#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/bluetooth#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/bsnmpd#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/bthidd#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/cleartmp#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/defaultroute#1 branch .. //depot/projects/arp-v2/src/etc/rc.d/devd#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/dumpon#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/fsck#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/ftp-proxy#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/ftpd#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/hcsecd#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/hostid#4 integrate .. //depot/projects/arp-v2/src/etc/rc.d/hostname#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/idmapd#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/ipfw#3 integrate .. //depot/projects/arp-v2/src/etc/rc.d/isdnd#2 delete .. //depot/projects/arp-v2/src/etc/rc.d/keyserv#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/ldconfig#3 integrate .. //depot/projects/arp-v2/src/etc/rc.d/local#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/localpkg#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/lockd#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/lpd#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/motd#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/mountcritlocal#3 integrate .. //depot/projects/arp-v2/src/etc/rc.d/mountcritremote#3 integrate .. //depot/projects/arp-v2/src/etc/rc.d/mountd#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/mountlate#3 integrate .. //depot/projects/arp-v2/src/etc/rc.d/moused#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/named#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/netif#4 integrate .. //depot/projects/arp-v2/src/etc/rc.d/netoptions#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/newsyslog#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/nfsclient#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/nfsd#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/nscd#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/ntpd#3 integrate .. //depot/projects/arp-v2/src/etc/rc.d/pf#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/power_profile#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/powerd#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/ppp#4 integrate .. //depot/projects/arp-v2/src/etc/rc.d/quota#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/routing#3 integrate .. //depot/projects/arp-v2/src/etc/rc.d/rpcbind#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/rtadvd#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/rwho#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/savecore#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/sdpd#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/sendmail#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/serial#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/sshd#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/statd#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/swap1#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/syscons#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/sysctl#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/timed#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/ugidfw#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/watchdogd#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/ypbind#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/yppasswdd#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/ypserv#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/ypset#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/ypupdated#2 integrate .. //depot/projects/arp-v2/src/etc/rc.d/ypxfrd#2 integrate .. //depot/projects/arp-v2/src/etc/rc.firewall#3 integrate .. //depot/projects/arp-v2/src/etc/rc.resume#2 integrate .. //depot/projects/arp-v2/src/etc/rc.subr#4 integrate .. //depot/projects/arp-v2/src/etc/rc.suspend#2 integrate .. //depot/projects/arp-v2/src/etc/remote#2 integrate .. //depot/projects/arp-v2/src/games/fortune/datfiles/fortunes#5 integrate .. //depot/projects/arp-v2/src/games/fortune/datfiles/freebsd-tips#2 integrate .. //depot/projects/arp-v2/src/games/fortune/fortune/fortune.6#2 integrate .. //depot/projects/arp-v2/src/games/fortune/fortune/fortune.c#2 integrate .. //depot/projects/arp-v2/src/games/fortune/strfile/strfile.c#3 integrate .. //depot/projects/arp-v2/src/games/morse/morse.6#2 integrate .. //depot/projects/arp-v2/src/games/morse/morse.c#2 integrate .. //depot/projects/arp-v2/src/gnu/lib/Makefile#2 integrate .. //depot/projects/arp-v2/src/gnu/lib/csu/Makefile#3 integrate .. //depot/projects/arp-v2/src/gnu/lib/libssp/Makefile#2 integrate .. //depot/projects/arp-v2/src/gnu/lib/libstdc++/Makefile#2 integrate .. //depot/projects/arp-v2/src/gnu/usr.bin/Makefile#3 integrate .. //depot/projects/arp-v2/src/gnu/usr.bin/cpio/Makefile#2 integrate .. //depot/projects/arp-v2/src/gnu/usr.bin/cpio/config.h#2 integrate .. //depot/projects/arp-v2/src/gnu/usr.bin/cvs/contrib/Makefile#3 integrate .. //depot/projects/arp-v2/src/gnu/usr.bin/gdb/arch/arm/Makefile#2 integrate .. //depot/projects/arp-v2/src/gnu/usr.bin/gdb/kgdb/trgt_mips.c#2 integrate .. //depot/projects/arp-v2/src/gnu/usr.bin/groff/tmac/mdoc.local#3 integrate .. //depot/projects/arp-v2/src/include/Makefile#3 integrate .. //depot/projects/arp-v2/src/include/complex.h#4 integrate .. //depot/projects/arp-v2/src/include/gssapi/gssapi.h#3 integrate .. //depot/projects/arp-v2/src/include/protocols/dumprestore.h#2 integrate .. //depot/projects/arp-v2/src/include/pthread.h#3 integrate .. //depot/projects/arp-v2/src/include/rpc/Makefile#2 integrate .. //depot/projects/arp-v2/src/include/rpc/auth.h#2 integrate .. //depot/projects/arp-v2/src/include/rpc/rpcsec_gss.h#1 branch .. //depot/projects/arp-v2/src/include/rpc/svc.h#2 integrate .. //depot/projects/arp-v2/src/include/sgtty.h#2 delete .. //depot/projects/arp-v2/src/include/spawn.h#1 branch .. //depot/projects/arp-v2/src/include/stdlib.h#2 integrate .. //depot/projects/arp-v2/src/include/unistd.h#4 integrate .. //depot/projects/arp-v2/src/kerberos5/lib/libgssapi_krb5/Makefile#2 integrate .. //depot/projects/arp-v2/src/kerberos5/lib/libgssapi_krb5/pname_to_uid.c#1 branch .. //depot/projects/arp-v2/src/kerberos5/tools/slc/Makefile#2 integrate .. //depot/projects/arp-v2/src/lib/Makefile#4 integrate .. //depot/projects/arp-v2/src/lib/csu/Makefile.inc#1 branch .. //depot/projects/arp-v2/src/lib/libarchive/Makefile#4 integrate .. //depot/projects/arp-v2/src/lib/libarchive/archive.h#1 branch .. //depot/projects/arp-v2/src/lib/libarchive/archive.h.in#4 delete .. //depot/projects/arp-v2/src/lib/libarchive/archive_endian.h#3 integrate .. //depot/projects/arp-v2/src/lib/libarchive/archive_entry.3#3 integrate .. //depot/projects/arp-v2/src/lib/libarchive/archive_entry.c#4 integrate .. //depot/projects/arp-v2/src/lib/libarchive/archive_entry.h#4 integrate .. //depot/projects/arp-v2/src/lib/libarchive/archive_entry_link_resolver.c#2 integrate .. //depot/projects/arp-v2/src/lib/libarchive/archive_entry_private.h#4 integrate .. //depot/projects/arp-v2/src/lib/libarchive/archive_entry_strmode.c#3 integrate .. //depot/projects/arp-v2/src/lib/libarchive/archive_platform.h#4 integrate .. //depot/projects/arp-v2/src/lib/libarchive/archive_private.h#2 integrate .. //depot/projects/arp-v2/src/lib/libarchive/archive_read.3#3 integrate .. //depot/projects/arp-v2/src/lib/libarchive/archive_read_data_into_fd.c#2 integrate .. //depot/projects/arp-v2/src/lib/libarchive/archive_read_extract.c#3 integrate .. //depot/projects/arp-v2/src/lib/libarchive/archive_read_support_compression_bzip2.c#3 integrate .. //depot/projects/arp-v2/src/lib/libarchive/archive_read_support_compression_program.c#2 integrate .. //depot/projects/arp-v2/src/lib/libarchive/archive_read_support_format_ar.c#4 integrate .. //depot/projects/arp-v2/src/lib/libarchive/archive_read_support_format_iso9660.c#4 integrate .. //depot/projects/arp-v2/src/lib/libarchive/archive_read_support_format_mtree.c#4 integrate .. //depot/projects/arp-v2/src/lib/libarchive/archive_read_support_format_tar.c#4 integrate .. //depot/projects/arp-v2/src/lib/libarchive/archive_read_support_format_zip.c#4 integrate .. //depot/projects/arp-v2/src/lib/libarchive/archive_string.c#2 integrate .. //depot/projects/arp-v2/src/lib/libarchive/archive_string.h#3 integrate .. //depot/projects/arp-v2/src/lib/libarchive/archive_util.c#4 integrate .. //depot/projects/arp-v2/src/lib/libarchive/archive_write.3#3 integrate .. //depot/projects/arp-v2/src/lib/libarchive/archive_write_disk.3#3 integrate .. //depot/projects/arp-v2/src/lib/libarchive/archive_write_disk.c#4 integrate .. //depot/projects/arp-v2/src/lib/libarchive/archive_write_set_compression_program.c#2 integrate .. //depot/projects/arp-v2/src/lib/libarchive/archive_write_set_format_ar.c#4 integrate .. //depot/projects/arp-v2/src/lib/libarchive/archive_write_set_format_pax.c#4 integrate .. //depot/projects/arp-v2/src/lib/libarchive/archive_write_set_format_ustar.c#4 integrate .. //depot/projects/arp-v2/src/lib/libarchive/config_freebsd.h#3 integrate .. //depot/projects/arp-v2/src/lib/libarchive/cpio.5#2 integrate .. //depot/projects/arp-v2/src/lib/libarchive/filter_fork.c#3 integrate .. //depot/projects/arp-v2/src/lib/libarchive/libarchive-formats.5#3 integrate .. //depot/projects/arp-v2/src/lib/libarchive/tar.5#2 integrate .. //depot/projects/arp-v2/src/lib/libarchive/test/Makefile#4 integrate .. //depot/projects/arp-v2/src/lib/libarchive/test/main.c#4 integrate .. //depot/projects/arp-v2/src/lib/libarchive/test/test.h#4 integrate .. //depot/projects/arp-v2/src/lib/libarchive/test/test_acl_pax.c#2 integrate .. //depot/projects/arp-v2/src/lib/libarchive/test/test_archive_api_feature.c#3 integrate .. //depot/projects/arp-v2/src/lib/libarchive/test/test_compat_gtar_1.tgz.uu#2 integrate .. //depot/projects/arp-v2/src/lib/libarchive/test/test_compat_zip_1.zip.uu#2 integrate .. //depot/projects/arp-v2/src/lib/libarchive/test/test_entry.c#3 integrate .. //depot/projects/arp-v2/src/lib/libarchive/test/test_link_resolver.c#1 branch .. //depot/projects/arp-v2/src/lib/libarchive/test/test_pax_filename_encoding.c#2 integrate .. //depot/projects/arp-v2/src/lib/libarchive/test/test_pax_filename_encoding.tar.gz.uu#2 integrate .. //depot/projects/arp-v2/src/lib/libarchive/test/test_read_extract.c#2 integrate .. //depot/projects/arp-v2/src/lib/libarchive/test/test_read_format_gtar_sparse_1_13.tgz.uu#2 integrate .. //depot/projects/arp-v2/src/lib/libarchive/test/test_read_format_gtar_sparse_1_17.tgz.uu#2 integrate .. //depot/projects/arp-v2/src/lib/libarchive/test/test_read_format_gtar_sparse_1_17_posix00.tgz.uu#2 integrate .. //depot/projects/arp-v2/src/lib/libarchive/test/test_read_format_gtar_sparse_1_17_posix01.tgz.uu#2 integrate .. //depot/projects/arp-v2/src/lib/libarchive/test/test_read_format_gtar_sparse_1_17_posix10.tgz.uu#2 integrate .. //depot/projects/arp-v2/src/lib/libarchive/test/test_read_format_gtar_sparse_1_17_posix10_modified.tar.uu#2 integrate .. //depot/projects/arp-v2/src/lib/libarchive/test/test_read_format_isorr_bz2.c#3 integrate .. //depot/projects/arp-v2/src/lib/libarchive/test/test_read_format_isorr_bz2.iso.bz2.uu#1 branch .. //depot/projects/arp-v2/src/lib/libarchive/test/test_read_format_mtree.c#2 integrate .. //depot/projects/arp-v2/src/lib/libarchive/test/test_read_format_tar_empty_filename.c#1 branch .. //depot/projects/arp-v2/src/lib/libarchive/test/test_read_format_tar_empty_filename.tar.uu#1 branch .. //depot/projects/arp-v2/src/lib/libarchive/test/test_read_format_zip.c#3 integrate .. //depot/projects/arp-v2/src/lib/libarchive/test/test_read_format_zip.zip.uu#1 branch .. //depot/projects/arp-v2/src/lib/libarchive/test/test_tar_filenames.c#3 integrate .. //depot/projects/arp-v2/src/lib/libarchive/test/test_tar_large.c#2 integrate .. //depot/projects/arp-v2/src/lib/libarchive/test/test_ustar_filenames.c#1 branch .. //depot/projects/arp-v2/src/lib/libarchive/test/test_write_disk.c#3 integrate .. //depot/projects/arp-v2/src/lib/libarchive/test/test_write_disk_hardlink.c#2 integrate .. //depot/projects/arp-v2/src/lib/libarchive/test/test_write_disk_perms.c#3 integrate .. //depot/projects/arp-v2/src/lib/libarchive/test/test_write_disk_secure.c#2 integrate .. //depot/projects/arp-v2/src/lib/libarchive/test/test_write_format_ar.c#3 integrate .. //depot/projects/arp-v2/src/lib/libarchive/test/test_write_format_tar_ustar.c#1 branch .. //depot/projects/arp-v2/src/lib/libatm/Makefile#2 delete .. //depot/projects/arp-v2/src/lib/libatm/atm_addr.c#2 delete .. //depot/projects/arp-v2/src/lib/libatm/cache_key.c#2 delete .. //depot/projects/arp-v2/src/lib/libatm/ioctl_subr.c#2 delete .. //depot/projects/arp-v2/src/lib/libatm/ip_addr.c#2 delete .. //depot/projects/arp-v2/src/lib/libatm/ip_checksum.c#2 delete .. //depot/projects/arp-v2/src/lib/libatm/libatm.h#2 delete .. //depot/projects/arp-v2/src/lib/libatm/timer.c#2 delete .. //depot/projects/arp-v2/src/lib/libc/Makefile#2 integrate .. //depot/projects/arp-v2/src/lib/libc/amd64/gen/_setjmp.S#2 integrate .. //depot/projects/arp-v2/src/lib/libc/amd64/gen/setjmp.S#2 integrate .. //depot/projects/arp-v2/src/lib/libc/gen/Makefile.inc#6 integrate .. //depot/projects/arp-v2/src/lib/libc/gen/Symbol.map#5 integrate .. //depot/projects/arp-v2/src/lib/libc/gen/arc4random.3#2 integrate .. //depot/projects/arp-v2/src/lib/libc/gen/arc4random.c#2 integrate .. //depot/projects/arp-v2/src/lib/libc/gen/exec.3#2 integrate .. //depot/projects/arp-v2/src/lib/libc/gen/exec.c#2 integrate .. //depot/projects/arp-v2/src/lib/libc/gen/fmtcheck.3#2 integrate .. //depot/projects/arp-v2/src/lib/libc/gen/fmtcheck.c#2 integrate .. //depot/projects/arp-v2/src/lib/libc/gen/getbsize.c#2 integrate .. //depot/projects/arp-v2/src/lib/libc/gen/glob.c#2 integrate .. //depot/projects/arp-v2/src/lib/libc/gen/popen.c#2 integrate .. //depot/projects/arp-v2/src/lib/libc/gen/posix_spawn.3#1 branch .. //depot/projects/arp-v2/src/lib/libc/gen/posix_spawn.c#1 branch .. //depot/projects/arp-v2/src/lib/libc/gen/posix_spawn_file_actions_addopen.3#1 branch .. //depot/projects/arp-v2/src/lib/libc/gen/posix_spawn_file_actions_init.3#1 branch .. //depot/projects/arp-v2/src/lib/libc/gen/posix_spawnattr_getflags.3#1 branch .. //depot/projects/arp-v2/src/lib/libc/gen/posix_spawnattr_getpgroup.3#1 branch .. //depot/projects/arp-v2/src/lib/libc/gen/posix_spawnattr_getschedparam.3#1 branch .. //depot/projects/arp-v2/src/lib/libc/gen/posix_spawnattr_getschedpolicy.3#1 branch .. //depot/projects/arp-v2/src/lib/libc/gen/posix_spawnattr_getsigdefault.3#1 branch .. //depot/projects/arp-v2/src/lib/libc/gen/posix_spawnattr_getsigmask.3#1 branch .. //depot/projects/arp-v2/src/lib/libc/gen/posix_spawnattr_init.3#1 branch .. //depot/projects/arp-v2/src/lib/libc/gen/signal.3#2 integrate .. //depot/projects/arp-v2/src/lib/libc/i386/gen/_setjmp.S#2 integrate .. //depot/projects/arp-v2/src/lib/libc/i386/gen/setjmp.S#2 integrate .. //depot/projects/arp-v2/src/lib/libc/include/libc_private.h#3 integrate .. //depot/projects/arp-v2/src/lib/libc/include/namespace.h#3 integrate .. //depot/projects/arp-v2/src/lib/libc/include/un-namespace.h#3 integrate .. //depot/projects/arp-v2/src/lib/libc/net/getaddrinfo.3#2 integrate .. //depot/projects/arp-v2/src/lib/libc/posix1e/acl_support.c#2 integrate .. //depot/projects/arp-v2/src/lib/libc/rpc/Makefile.inc#2 integrate .. //depot/projects/arp-v2/src/lib/libc/rpc/Symbol.map#2 integrate .. //depot/projects/arp-v2/src/lib/libc/rpc/clnt_dg.c#2 integrate .. //depot/projects/arp-v2/src/lib/libc/rpc/clnt_perror.c#2 integrate .. //depot/projects/arp-v2/src/lib/libc/rpc/clnt_vc.c#2 integrate .. //depot/projects/arp-v2/src/lib/libc/rpc/rpcsec_gss_stub.c#1 branch .. //depot/projects/arp-v2/src/lib/libc/rpc/svc.c#2 integrate .. //depot/projects/arp-v2/src/lib/libc/rpc/svc_auth.c#2 integrate .. //depot/projects/arp-v2/src/lib/libc/rpc/svc_dg.c#2 integrate .. //depot/projects/arp-v2/src/lib/libc/rpc/svc_raw.c#2 integrate .. //depot/projects/arp-v2/src/lib/libc/rpc/svc_vc.c#3 integrate .. //depot/projects/arp-v2/src/lib/libc/stdio/Makefile.inc#3 integrate .. //depot/projects/arp-v2/src/lib/libc/stdio/mktemp.c#2 integrate .. //depot/projects/arp-v2/src/lib/libc/stdio/printf-pos.c#1 branch .. //depot/projects/arp-v2/src/lib/libc/stdio/printflocal.h#1 branch .. //depot/projects/arp-v2/src/lib/libc/stdio/vfprintf.c#3 integrate .. //depot/projects/arp-v2/src/lib/libc/stdio/vfwprintf.c#4 integrate .. //depot/projects/arp-v2/src/lib/libc/stdlib/Symbol.map#2 integrate .. //depot/projects/arp-v2/src/lib/libc/stdlib/getenv.c#3 integrate .. //depot/projects/arp-v2/src/lib/libc/stdlib/grantpt.c#4 integrate .. //depot/projects/arp-v2/src/lib/libc/stdlib/hcreate.3#2 integrate .. //depot/projects/arp-v2/src/lib/libc/stdlib/hcreate.c#2 integrate .. //depot/projects/arp-v2/src/lib/libc/stdlib/malloc.c#5 integrate .. //depot/projects/arp-v2/src/lib/libc/stdlib/system.3#2 integrate .. //depot/projects/arp-v2/src/lib/libc/sys/Symbol.map#4 integrate .. //depot/projects/arp-v2/src/lib/libc/sys/accept.2#2 integrate .. //depot/projects/arp-v2/src/lib/libc/sys/fcntl.c#2 integrate .. //depot/projects/arp-v2/src/lib/libc/sys/getsockopt.2#3 integrate .. //depot/projects/arp-v2/src/lib/libc/sys/jail.2#2 integrate .. //depot/projects/arp-v2/src/lib/libc/sys/ktrace.2#2 integrate .. //depot/projects/arp-v2/src/lib/libc/sys/mkdir.2#3 integrate .. //depot/projects/arp-v2/src/lib/libc/sys/modstat.2#2 integrate .. //depot/projects/arp-v2/src/lib/libc/sys/setfib.2#2 integrate .. //depot/projects/arp-v2/src/lib/libc/sys/setgroups.2#2 integrate .. //depot/projects/arp-v2/src/lib/libc/sys/socket.2#2 integrate .. //depot/projects/arp-v2/src/lib/libc/xdr/xdr_rec.c#3 integrate .. //depot/projects/arp-v2/src/lib/libc_r/uthread/uthread_fcntl.c#2 integrate .. //depot/projects/arp-v2/src/lib/libcompat/4.1/gtty.c#2 delete .. //depot/projects/arp-v2/src/lib/libcompat/4.1/stty.3#2 delete .. //depot/projects/arp-v2/src/lib/libcompat/4.1/stty.c#2 delete .. //depot/projects/arp-v2/src/lib/libcompat/Makefile#2 integrate .. //depot/projects/arp-v2/src/lib/libdwarf/Makefile#1 branch .. //depot/projects/arp-v2/src/lib/libdwarf/_libdwarf.h#1 branch .. //depot/projects/arp-v2/src/lib/libdwarf/dwarf.h#1 branch .. //depot/projects/arp-v2/src/lib/libdwarf/dwarf_abbrev.c#1 branch .. //depot/projects/arp-v2/src/lib/libdwarf/dwarf_attr.c#1 branch .. //depot/projects/arp-v2/src/lib/libdwarf/dwarf_attrval.c#1 branch .. //depot/projects/arp-v2/src/lib/libdwarf/dwarf_cu.c#1 branch .. //depot/projects/arp-v2/src/lib/libdwarf/dwarf_dealloc.c#1 branch .. //depot/projects/arp-v2/src/lib/libdwarf/dwarf_die.c#1 branch .. //depot/projects/arp-v2/src/lib/libdwarf/dwarf_dump.c#1 branch .. //depot/projects/arp-v2/src/lib/libdwarf/dwarf_errmsg.c#1 branch .. //depot/projects/arp-v2/src/lib/libdwarf/dwarf_errno.c#1 branch .. //depot/projects/arp-v2/src/lib/libdwarf/dwarf_finish.c#1 branch .. //depot/projects/arp-v2/src/lib/libdwarf/dwarf_form.c#1 branch .. //depot/projects/arp-v2/src/lib/libdwarf/dwarf_init.c#1 branch .. //depot/projects/arp-v2/src/lib/libdwarf/dwarf_loc.c#1 branch .. //depot/projects/arp-v2/src/lib/libdwarf/libdwarf.h#1 branch .. //depot/projects/arp-v2/src/lib/libelf/elf_strptr.c#2 integrate .. //depot/projects/arp-v2/src/lib/libelf/libelf_align.c#2 integrate .. //depot/projects/arp-v2/src/lib/libelf/libelf_data.c#2 integrate .. //depot/projects/arp-v2/src/lib/libgeom/geom_ctl.c#2 integrate .. //depot/projects/arp-v2/src/lib/libgeom/geom_getxml.c#2 integrate .. //depot/projects/arp-v2/src/lib/libgeom/geom_xml2tree.c#2 integrate .. //depot/projects/arp-v2/src/lib/libgeom/libgeom.3#3 integrate .. //depot/projects/arp-v2/src/lib/libgssapi/Makefile#3 integrate .. //depot/projects/arp-v2/src/lib/libgssapi/Symbol.map#2 integrate .. //depot/projects/arp-v2/src/lib/libgssapi/gss_mech_switch.c#3 integrate .. //depot/projects/arp-v2/src/lib/libgssapi/gss_pname_to_uid.c#1 branch .. //depot/projects/arp-v2/src/lib/libgssapi/gss_utils.c#3 integrate .. //depot/projects/arp-v2/src/lib/libgssapi/mech_switch.h#3 integrate .. //depot/projects/arp-v2/src/lib/libgssapi/utils.h#3 integrate .. //depot/projects/arp-v2/src/lib/libkse/thread/thr_fcntl.c#3 integrate .. //depot/projects/arp-v2/src/lib/libkvm/kvm_file.c#3 integrate .. //depot/projects/arp-v2/src/lib/libkvm/kvm_mips.c#1 branch .. //depot/projects/arp-v2/src/lib/libproc/Makefile#1 branch .. //depot/projects/arp-v2/src/lib/libproc/_libproc.h#1 branch .. //depot/projects/arp-v2/src/lib/libproc/libproc.h#1 branch .. //depot/projects/arp-v2/src/lib/libproc/proc_create.c#1 branch .. //depot/projects/arp-v2/src/lib/libproc/proc_sym.c#1 branch .. //depot/projects/arp-v2/src/lib/libproc/proc_util.c#1 branch .. //depot/projects/arp-v2/src/lib/librpcsec_gss/Makefile#1 branch .. //depot/projects/arp-v2/src/lib/librpcsec_gss/Symbol.map#1 branch .. //depot/projects/arp-v2/src/lib/librpcsec_gss/rpc_gss_get_error.3#1 branch .. //depot/projects/arp-v2/src/lib/librpcsec_gss/rpc_gss_get_mech_info.3#1 branch .. //depot/projects/arp-v2/src/lib/librpcsec_gss/rpc_gss_get_mechanisms.3#1 branch .. //depot/projects/arp-v2/src/lib/librpcsec_gss/rpc_gss_get_principal_name.3#1 branch .. //depot/projects/arp-v2/src/lib/librpcsec_gss/rpc_gss_get_versions.3#1 branch .. //depot/projects/arp-v2/src/lib/librpcsec_gss/rpc_gss_getcred.3#1 branch .. //depot/projects/arp-v2/src/lib/librpcsec_gss/rpc_gss_is_installed.3#1 branch .. //depot/projects/arp-v2/src/lib/librpcsec_gss/rpc_gss_max_data_length.3#1 branch .. //depot/projects/arp-v2/src/lib/librpcsec_gss/rpc_gss_mech_to_oid.3#1 branch .. //depot/projects/arp-v2/src/lib/librpcsec_gss/rpc_gss_oid_to_mech.3#1 branch .. //depot/projects/arp-v2/src/lib/librpcsec_gss/rpc_gss_qop_to_num.3#1 branch .. //depot/projects/arp-v2/src/lib/librpcsec_gss/rpc_gss_seccreate.3#1 branch .. //depot/projects/arp-v2/src/lib/librpcsec_gss/rpc_gss_set_callback.3#1 branch .. //depot/projects/arp-v2/src/lib/librpcsec_gss/rpc_gss_set_defaults.3#1 branch .. //depot/projects/arp-v2/src/lib/librpcsec_gss/rpc_gss_set_svc_name.3#1 branch .. //depot/projects/arp-v2/src/lib/librpcsec_gss/rpc_gss_svc_max_data_length.3#1 branch .. //depot/projects/arp-v2/src/lib/librpcsec_gss/rpcsec_gss.3#1 branch .. //depot/projects/arp-v2/src/lib/librpcsec_gss/rpcsec_gss.c#1 branch .. //depot/projects/arp-v2/src/lib/librpcsec_gss/rpcsec_gss_conf.c#1 branch .. //depot/projects/arp-v2/src/lib/librpcsec_gss/rpcsec_gss_int.h#1 branch .. //depot/projects/arp-v2/src/lib/librpcsec_gss/rpcsec_gss_misc.c#1 branch .. //depot/projects/arp-v2/src/lib/librpcsec_gss/rpcsec_gss_prot.c#1 branch .. //depot/projects/arp-v2/src/lib/librpcsec_gss/svc_rpcsec_gss.c#1 branch .. //depot/projects/arp-v2/src/lib/libstand/Makefile#3 integrate .. //depot/projects/arp-v2/src/lib/libthr/Makefile#3 integrate .. //depot/projects/arp-v2/src/lib/libthr/pthread.map#4 integrate .. //depot/projects/arp-v2/src/lib/libthr/thread/thr_clean.c#2 integrate .. //depot/projects/arp-v2/src/lib/libthr/thread/thr_condattr.c#2 integrate .. //depot/projects/arp-v2/src/lib/libthr/thread/thr_init.c#4 integrate .. //depot/projects/arp-v2/src/lib/libthr/thread/thr_mutex.c#5 integrate .. //depot/projects/arp-v2/src/lib/libthr/thread/thr_once.c#2 integrate .. //depot/projects/arp-v2/src/lib/libthr/thread/thr_private.h#5 integrate .. //depot/projects/arp-v2/src/lib/libthr/thread/thr_syscalls.c#3 integrate .. //depot/projects/arp-v2/src/lib/libthr/thread/thr_umtx.c#4 integrate .. //depot/projects/arp-v2/src/lib/libthr/thread/thr_umtx.h#4 integrate .. //depot/projects/arp-v2/src/lib/libthread_db/Makefile#3 integrate .. //depot/projects/arp-v2/src/lib/libthread_db/arch/amd64/libpthread_md.c#2 integrate .. //depot/projects/arp-v2/src/lib/libthread_db/arch/arm/libpthread_md.c#2 integrate .. //depot/projects/arp-v2/src/lib/libthread_db/arch/i386/libpthread_md.c#2 integrate .. //depot/projects/arp-v2/src/lib/libthread_db/arch/ia64/libpthread_md.c#2 integrate .. //depot/projects/arp-v2/src/lib/libthread_db/arch/powerpc/libpthread_md.c#2 integrate .. //depot/projects/arp-v2/src/lib/libthread_db/arch/sparc64/libpthread_md.c#2 integrate .. //depot/projects/arp-v2/src/lib/libthread_db/libpthread_db.c#3 integrate .. //depot/projects/arp-v2/src/lib/libthread_db/libpthread_db.h#2 integrate .. //depot/projects/arp-v2/src/lib/libthread_db/libthr_db.c#3 integrate .. //depot/projects/arp-v2/src/lib/libthread_db/thread_db.c#3 integrate .. //depot/projects/arp-v2/src/lib/libthread_db/thread_db.h#2 integrate .. //depot/projects/arp-v2/src/lib/libthread_db/thread_db_int.h#2 integrate .. //depot/projects/arp-v2/src/lib/libutil/Makefile#3 integrate .. //depot/projects/arp-v2/src/lib/libutil/expand_number.c#2 integrate .. //depot/projects/arp-v2/src/lib/libutil/hexdump.3#1 branch .. //depot/projects/arp-v2/src/lib/libutil/hexdump.c#1 branch .. //depot/projects/arp-v2/src/lib/libutil/libutil.h#3 integrate .. //depot/projects/arp-v2/src/lib/libutil/login.conf.5#2 integrate .. //depot/projects/arp-v2/src/lib/libutil/login_cap.h#2 integrate .. //depot/projects/arp-v2/src/lib/libutil/login_class.3#2 integrate .. //depot/projects/arp-v2/src/lib/libutil/login_class.c#2 integrate .. //depot/projects/arp-v2/src/lib/msun/Makefile#4 integrate .. //depot/projects/arp-v2/src/lib/msun/Symbol.map#4 integrate .. //depot/projects/arp-v2/src/lib/msun/i387/invtrig.c#1 branch .. //depot/projects/arp-v2/src/lib/msun/ld128/invtrig.c#1 branch .. //depot/projects/arp-v2/src/lib/msun/ld128/invtrig.h#1 branch .. //depot/projects/arp-v2/src/lib/msun/ld80/invtrig.c#1 branch .. //depot/projects/arp-v2/src/lib/msun/ld80/invtrig.h#1 branch .. //depot/projects/arp-v2/src/lib/msun/man/acos.3#2 integrate .. //depot/projects/arp-v2/src/lib/msun/man/asin.3#2 integrate .. //depot/projects/arp-v2/src/lib/msun/man/atan.3#2 integrate .. //depot/projects/arp-v2/src/lib/msun/man/atan2.3#3 integrate .. //depot/projects/arp-v2/src/lib/msun/man/cimag.3#2 integrate .. //depot/projects/arp-v2/src/lib/msun/man/cos.3#3 integrate .. //depot/projects/arp-v2/src/lib/msun/man/fmod.3#2 integrate .. //depot/projects/arp-v2/src/lib/msun/src/e_acos.c#3 integrate .. //depot/projects/arp-v2/src/lib/msun/src/e_acosf.c#3 integrate .. //depot/projects/arp-v2/src/lib/msun/src/e_acosl.c#1 branch .. //depot/projects/arp-v2/src/lib/msun/src/e_asin.c#3 integrate .. //depot/projects/arp-v2/src/lib/msun/src/e_asinf.c#3 integrate .. //depot/projects/arp-v2/src/lib/msun/src/e_asinl.c#1 branch .. //depot/projects/arp-v2/src/lib/msun/src/e_atan2.c#3 integrate .. //depot/projects/arp-v2/src/lib/msun/src/e_atan2f.c#3 integrate .. //depot/projects/arp-v2/src/lib/msun/src/e_atan2l.c#1 branch .. //depot/projects/arp-v2/src/lib/msun/src/e_fmodl.c#1 branch .. //depot/projects/arp-v2/src/lib/msun/src/math.h#4 integrate .. //depot/projects/arp-v2/src/lib/msun/src/s_atan.c#3 integrate .. //depot/projects/arp-v2/src/lib/msun/src/s_atanf.c#3 integrate .. //depot/projects/arp-v2/src/lib/msun/src/s_atanl.c#1 branch .. //depot/projects/arp-v2/src/lib/msun/src/s_cargl.c#1 branch .. //depot/projects/arp-v2/src/lib/msun/src/s_cimag.c#2 integrate .. //depot/projects/arp-v2/src/lib/msun/src/s_cimagf.c#2 integrate .. //depot/projects/arp-v2/src/lib/msun/src/s_cimagl.c#2 integrate .. //depot/projects/arp-v2/src/lib/msun/src/s_conj.c#2 integrate .. //depot/projects/arp-v2/src/lib/msun/src/s_conjf.c#2 integrate .. //depot/projects/arp-v2/src/lib/msun/src/s_conjl.c#2 integrate .. //depot/projects/arp-v2/src/lib/msun/src/s_cproj.c#1 branch .. //depot/projects/arp-v2/src/lib/msun/src/s_cprojf.c#1 branch .. //depot/projects/arp-v2/src/lib/msun/src/s_cprojl.c#1 branch .. //depot/projects/arp-v2/src/lib/msun/src/s_remquol.c#2 integrate .. //depot/projects/arp-v2/src/libexec/fingerd/fingerd.c#2 integrate .. //depot/projects/arp-v2/src/libexec/rpc.rstatd/Makefile#2 integrate .. //depot/projects/arp-v2/src/libexec/rpc.rstatd/rstat_proc.c#2 integrate .. //depot/projects/arp-v2/src/libexec/rtld-elf/Makefile#2 integrate .. //depot/projects/arp-v2/src/release/Makefile#3 integrate .. //depot/projects/arp-v2/src/release/doc/en_US.ISO8859-1/hardware/article.sgml#5 integrate .. //depot/projects/arp-v2/src/release/doc/en_US.ISO8859-1/readme/article.sgml#2 integrate .. //depot/projects/arp-v2/src/release/doc/en_US.ISO8859-1/relnotes/article.sgml#5 integrate .. //depot/projects/arp-v2/src/release/doc/share/sgml/release.ent#3 integrate .. //depot/projects/arp-v2/src/release/ia64/boot_crunch.conf#4 integrate .. //depot/projects/arp-v2/src/release/picobsd/build/picobsd#2 integrate .. //depot/projects/arp-v2/src/release/scripts/src-install.sh#2 integrate .. //depot/projects/arp-v2/src/rescue/librescue/Makefile#2 integrate .. //depot/projects/arp-v2/src/rescue/rescue/Makefile#3 integrate .. //depot/projects/arp-v2/src/sbin/Makefile#3 integrate .. //depot/projects/arp-v2/src/sbin/atacontrol/atacontrol.8#3 integrate .. //depot/projects/arp-v2/src/sbin/atacontrol/atacontrol.c#5 integrate .. //depot/projects/arp-v2/src/sbin/atm/Makefile#2 integrate .. //depot/projects/arp-v2/src/sbin/atm/atm/Makefile#2 delete .. //depot/projects/arp-v2/src/sbin/atm/atm/atm.8#2 delete .. //depot/projects/arp-v2/src/sbin/atm/atm/atm.c#2 delete .. //depot/projects/arp-v2/src/sbin/atm/atm/atm.h#2 delete .. //depot/projects/arp-v2/src/sbin/atm/atm/atm_fore200.c#2 delete .. //depot/projects/arp-v2/src/sbin/atm/atm/atm_inet.c#2 delete .. //depot/projects/arp-v2/src/sbin/atm/atm/atm_print.c#2 delete .. //depot/projects/arp-v2/src/sbin/atm/atm/atm_set.c#2 delete .. //depot/projects/arp-v2/src/sbin/atm/atm/atm_show.c#2 delete .. //depot/projects/arp-v2/src/sbin/atm/atm/atm_subr.c#2 delete .. //depot/projects/arp-v2/src/sbin/atm/fore_dnld/COPYRIGHT#2 delete .. //depot/projects/arp-v2/src/sbin/atm/fore_dnld/Makefile#2 delete .. //depot/projects/arp-v2/src/sbin/atm/fore_dnld/fore_dnld.8#2 delete .. //depot/projects/arp-v2/src/sbin/atm/fore_dnld/fore_dnld.c#2 delete .. //depot/projects/arp-v2/src/sbin/atm/fore_dnld/pca200e.c#2 delete .. //depot/projects/arp-v2/src/sbin/atm/ilmid/Makefile#2 delete .. //depot/projects/arp-v2/src/sbin/atm/ilmid/ilmid.8#2 delete .. //depot/projects/arp-v2/src/sbin/atm/ilmid/ilmid.c#2 delete .. //depot/projects/arp-v2/src/sbin/ddb/ddb.8#4 integrate .. //depot/projects/arp-v2/src/sbin/devfs/devfs.8#2 integrate .. //depot/projects/arp-v2/src/sbin/dhclient/dhclient-script#3 integrate .. //depot/projects/arp-v2/src/sbin/dhclient/dhclient.c#3 integrate .. //depot/projects/arp-v2/src/sbin/dump/dump.8#2 integrate .. //depot/projects/arp-v2/src/sbin/dump/dump.h#2 integrate .. //depot/projects/arp-v2/src/sbin/dump/itime.c#2 integrate .. //depot/projects/arp-v2/src/sbin/dump/main.c#2 integrate .. //depot/projects/arp-v2/src/sbin/dump/traverse.c#2 integrate .. //depot/projects/arp-v2/src/sbin/fdisk/fdisk.8#2 integrate .. //depot/projects/arp-v2/src/sbin/fdisk/fdisk.c#2 integrate .. //depot/projects/arp-v2/src/sbin/fsck_ffs/main.c#4 integrate .. //depot/projects/arp-v2/src/sbin/geom/Makefile#3 integrate .. //depot/projects/arp-v2/src/sbin/geom/class/label/geom_label.c#3 integrate .. //depot/projects/arp-v2/src/sbin/geom/class/part/geom_part.c#3 integrate .. //depot/projects/arp-v2/src/sbin/geom/class/part/gpart.8#2 integrate .. //depot/projects/arp-v2/src/sbin/geom/core/geom.c#3 integrate .. //depot/projects/arp-v2/src/sbin/geom/misc/subr.c#2 integrate .. //depot/projects/arp-v2/src/sbin/geom/misc/subr.h#2 integrate .. //depot/projects/arp-v2/src/sbin/ggate/ggated/ggated.c#2 integrate .. //depot/projects/arp-v2/src/sbin/ifconfig/Makefile#3 integrate .. //depot/projects/arp-v2/src/sbin/ifconfig/ifconfig.8#4 integrate .. //depot/projects/arp-v2/src/sbin/ifconfig/ifconfig.c#3 integrate .. //depot/projects/arp-v2/src/sbin/ifconfig/ifgre.c#1 branch .. //depot/projects/arp-v2/src/sbin/ifconfig/ifieee80211.c#4 integrate .. //depot/projects/arp-v2/src/sbin/ipfw/ipfw.8#4 integrate .. //depot/projects/arp-v2/src/sbin/mdconfig/mdconfig.8#2 integrate .. //depot/projects/arp-v2/src/sbin/mdconfig/mdconfig.c#2 integrate .. //depot/projects/arp-v2/src/sbin/mksnap_ffs/mksnap_ffs.8#2 integrate .. //depot/projects/arp-v2/src/sbin/mount/mount.8#3 integrate .. //depot/projects/arp-v2/src/sbin/mount_nfs/mount_nfs.c#3 integrate .. //depot/projects/arp-v2/src/sbin/natd/natd.8#4 integrate .. //depot/projects/arp-v2/src/sbin/natd/natd.c#2 integrate .. //depot/projects/arp-v2/src/sbin/natd/natd.h#2 integrate .. //depot/projects/arp-v2/src/sbin/ping6/ping6.8#2 integrate .. //depot/projects/arp-v2/src/sbin/ping6/ping6.c#3 integrate .. //depot/projects/arp-v2/src/sbin/quotacheck/preen.c#3 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Aug 7 21:28:08 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7184610656C9; Thu, 7 Aug 2008 21:28:08 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3456C10656C6 for ; Thu, 7 Aug 2008 21:28:08 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 220DD8FC2C for ; Thu, 7 Aug 2008 21:28:08 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m77LS3r9025336 for ; Thu, 7 Aug 2008 21:28:03 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m77LS356025334 for perforce@freebsd.org; Thu, 7 Aug 2008 21:28:03 GMT (envelope-from ed@FreeBSD.org) Date: Thu, 7 Aug 2008 21:28:03 GMT Message-Id: <200808072128.m77LS356025334@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 146870 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: Thu, 07 Aug 2008 21:28:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=146870 Change 146870 by ed@ed_dull on 2008/08/07 21:27:50 Now that our condvar(9) supports Giant as its interlock, remove the evil hacks I had to make to the TTY code. We can now live without them. Affected files ... .. //depot/projects/mpsafetty/sys/kern/tty.c#17 edit Differences ... ==== //depot/projects/mpsafetty/sys/kern/tty.c#17 (text+ko) ==== @@ -880,8 +880,12 @@ STAILQ_INIT(&tp->t_outq.to_list); /* Allow drivers to use a custom mutex to lock the TTY */ - mtx_init(&tp->t_mtxobj, "tty lock", NULL, MTX_DEF); - tp->t_mtx = mutex != NULL ? mutex : &tp->t_mtxobj; + if (mutex != NULL) { + tp->t_mtx = mutex; + } else { + tp->t_mtx = &tp->t_mtxobj; + mtx_init(&tp->t_mtxobj, "tty lock", NULL, MTX_DEF); + } knlist_init(&tp->t_inpoll.si_note, tp->t_mtx, NULL, NULL, NULL); knlist_init(&tp->t_outpoll.si_note, tp->t_mtx, NULL, NULL, NULL); @@ -912,7 +916,8 @@ cv_destroy(&tp->t_bgwait); cv_destroy(&tp->t_dcdwait); - mtx_destroy(&tp->t_mtxobj); + if (tp->t_mtx == &tp->t_mtxobj) + mtx_destroy(&tp->t_mtxobj); ttydevsw_free(tp); free(tp, M_TTY); } @@ -1189,18 +1194,7 @@ #endif tty_lock_assert(tp, MA_OWNED); - if (tp->t_mtx == &Giant) { - /* - * XXX: condvar(9) doesn't allow Giant to be passed as - * its mutex. Because we don't use the per-TTY mutex - * here, temporarily abuse it to make condvar(9) work. - */ - mtx_lock(&tp->t_mtxobj); - error = cv_wait_sig(cv, &tp->t_mtxobj); - mtx_unlock(&tp->t_mtxobj); - } else { - error = cv_wait_sig(cv, tp->t_mtx); - } + error = cv_wait_sig(cv, tp->t_mtx); /* Restart the system call when we may have been revoked */ if (tp->t_revokecnt != revokecnt) @@ -1225,18 +1219,7 @@ #endif tty_lock_assert(tp, MA_OWNED); - if (tp->t_mtx == &Giant) { - /* - * XXX: condvar(9) doesn't allow Giant to be passed as - * its mutex. Because we don't use the per-TTY mutex - * here, temporarily abuse it to make condvar(9) work. - */ - mtx_lock(&tp->t_mtxobj); - error = cv_timedwait_sig(cv, &tp->t_mtxobj, hz); - mtx_unlock(&tp->t_mtxobj); - } else { - error = cv_timedwait_sig(cv, tp->t_mtx, hz); - } + error = cv_timedwait_sig(cv, tp->t_mtx, hz); /* Restart the system call when we may have been revoked */ if (tp->t_revokecnt != revokecnt) From owner-p4-projects@FreeBSD.ORG Thu Aug 7 21:30:06 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D69FA1065688; Thu, 7 Aug 2008 21:30:05 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 993F31065684 for ; Thu, 7 Aug 2008 21:30:05 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 853418FC18 for ; Thu, 7 Aug 2008 21:30:05 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m77LU57J025604 for ; Thu, 7 Aug 2008 21:30:05 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m77LU5pg025602 for perforce@freebsd.org; Thu, 7 Aug 2008 21:30:05 GMT (envelope-from ed@FreeBSD.org) Date: Thu, 7 Aug 2008 21:30:05 GMT Message-Id: <200808072130.m77LU5pg025602@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 146871 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: Thu, 07 Aug 2008 21:30:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=146871 Change 146871 by ed@ed_dull on 2008/08/07 21:29:56 IFC. Affected files ... .. //depot/projects/mpsafetty/bin/cp/utils.c#2 integrate .. //depot/projects/mpsafetty/games/fortune/fortune/fortune.6#2 integrate .. //depot/projects/mpsafetty/games/fortune/fortune/fortune.c#2 integrate .. //depot/projects/mpsafetty/games/fortune/strfile/strfile.c#2 integrate .. //depot/projects/mpsafetty/gnu/usr.bin/groff/tmac/mdoc.local#2 integrate .. //depot/projects/mpsafetty/include/complex.h#2 integrate .. //depot/projects/mpsafetty/include/gssapi/gssapi.h#2 integrate .. //depot/projects/mpsafetty/include/rpc/Makefile#2 integrate .. //depot/projects/mpsafetty/include/rpc/auth.h#2 integrate .. //depot/projects/mpsafetty/include/rpc/rpcsec_gss.h#1 branch .. //depot/projects/mpsafetty/include/rpc/svc.h#2 integrate .. //depot/projects/mpsafetty/kerberos5/lib/libgssapi_krb5/Makefile#2 integrate .. //depot/projects/mpsafetty/kerberos5/lib/libgssapi_krb5/pname_to_uid.c#1 branch .. //depot/projects/mpsafetty/lib/Makefile#2 integrate .. //depot/projects/mpsafetty/lib/libc/rpc/Makefile.inc#2 integrate .. //depot/projects/mpsafetty/lib/libc/rpc/Symbol.map#2 integrate .. //depot/projects/mpsafetty/lib/libc/rpc/clnt_dg.c#2 integrate .. //depot/projects/mpsafetty/lib/libc/rpc/clnt_perror.c#2 integrate .. //depot/projects/mpsafetty/lib/libc/rpc/clnt_vc.c#2 integrate .. //depot/projects/mpsafetty/lib/libc/rpc/rpcsec_gss_stub.c#1 branch .. //depot/projects/mpsafetty/lib/libc/rpc/svc.c#2 integrate .. //depot/projects/mpsafetty/lib/libc/rpc/svc_auth.c#2 integrate .. //depot/projects/mpsafetty/lib/libc/rpc/svc_dg.c#2 integrate .. //depot/projects/mpsafetty/lib/libc/rpc/svc_raw.c#2 integrate .. //depot/projects/mpsafetty/lib/libc/rpc/svc_vc.c#2 integrate .. //depot/projects/mpsafetty/lib/libc/xdr/xdr_rec.c#2 integrate .. //depot/projects/mpsafetty/lib/libgssapi/Makefile#2 integrate .. //depot/projects/mpsafetty/lib/libgssapi/Symbol.map#2 integrate .. //depot/projects/mpsafetty/lib/libgssapi/gss_mech_switch.c#2 integrate .. //depot/projects/mpsafetty/lib/libgssapi/gss_pname_to_uid.c#1 branch .. //depot/projects/mpsafetty/lib/libgssapi/gss_utils.c#2 integrate .. //depot/projects/mpsafetty/lib/libgssapi/mech_switch.h#2 integrate .. //depot/projects/mpsafetty/lib/libgssapi/utils.h#2 integrate .. //depot/projects/mpsafetty/lib/librpcsec_gss/Makefile#1 branch .. //depot/projects/mpsafetty/lib/librpcsec_gss/Symbol.map#1 branch .. //depot/projects/mpsafetty/lib/librpcsec_gss/rpc_gss_get_error.3#1 branch .. //depot/projects/mpsafetty/lib/librpcsec_gss/rpc_gss_get_mech_info.3#1 branch .. //depot/projects/mpsafetty/lib/librpcsec_gss/rpc_gss_get_mechanisms.3#1 branch .. //depot/projects/mpsafetty/lib/librpcsec_gss/rpc_gss_get_principal_name.3#1 branch .. //depot/projects/mpsafetty/lib/librpcsec_gss/rpc_gss_get_versions.3#1 branch .. //depot/projects/mpsafetty/lib/librpcsec_gss/rpc_gss_getcred.3#1 branch .. //depot/projects/mpsafetty/lib/librpcsec_gss/rpc_gss_is_installed.3#1 branch .. //depot/projects/mpsafetty/lib/librpcsec_gss/rpc_gss_max_data_length.3#1 branch .. //depot/projects/mpsafetty/lib/librpcsec_gss/rpc_gss_mech_to_oid.3#1 branch .. //depot/projects/mpsafetty/lib/librpcsec_gss/rpc_gss_oid_to_mech.3#1 branch .. //depot/projects/mpsafetty/lib/librpcsec_gss/rpc_gss_qop_to_num.3#1 branch .. //depot/projects/mpsafetty/lib/librpcsec_gss/rpc_gss_seccreate.3#1 branch .. //depot/projects/mpsafetty/lib/librpcsec_gss/rpc_gss_set_callback.3#1 branch .. //depot/projects/mpsafetty/lib/librpcsec_gss/rpc_gss_set_defaults.3#1 branch .. //depot/projects/mpsafetty/lib/librpcsec_gss/rpc_gss_set_svc_name.3#1 branch .. //depot/projects/mpsafetty/lib/librpcsec_gss/rpc_gss_svc_max_data_length.3#1 branch .. //depot/projects/mpsafetty/lib/librpcsec_gss/rpcsec_gss.3#1 branch .. //depot/projects/mpsafetty/lib/librpcsec_gss/rpcsec_gss.c#1 branch .. //depot/projects/mpsafetty/lib/librpcsec_gss/rpcsec_gss_conf.c#1 branch .. //depot/projects/mpsafetty/lib/librpcsec_gss/rpcsec_gss_int.h#1 branch .. //depot/projects/mpsafetty/lib/librpcsec_gss/rpcsec_gss_misc.c#1 branch .. //depot/projects/mpsafetty/lib/librpcsec_gss/rpcsec_gss_prot.c#1 branch .. //depot/projects/mpsafetty/lib/librpcsec_gss/svc_rpcsec_gss.c#1 branch .. //depot/projects/mpsafetty/lib/msun/Makefile#4 integrate .. //depot/projects/mpsafetty/lib/msun/Symbol.map#3 integrate .. //depot/projects/mpsafetty/lib/msun/man/cimag.3#2 integrate .. //depot/projects/mpsafetty/lib/msun/src/s_cimag.c#2 integrate .. //depot/projects/mpsafetty/lib/msun/src/s_cimagf.c#2 integrate .. //depot/projects/mpsafetty/lib/msun/src/s_cimagl.c#2 integrate .. //depot/projects/mpsafetty/lib/msun/src/s_conj.c#2 integrate .. //depot/projects/mpsafetty/lib/msun/src/s_conjf.c#2 integrate .. //depot/projects/mpsafetty/lib/msun/src/s_conjl.c#2 integrate .. //depot/projects/mpsafetty/lib/msun/src/s_cproj.c#1 branch .. //depot/projects/mpsafetty/lib/msun/src/s_cprojf.c#1 branch .. //depot/projects/mpsafetty/lib/msun/src/s_cprojl.c#1 branch .. //depot/projects/mpsafetty/sbin/atacontrol/atacontrol.c#2 integrate .. //depot/projects/mpsafetty/share/man/man4/et.4#2 integrate .. //depot/projects/mpsafetty/sys/amd64/amd64/pmap.c#10 integrate .. //depot/projects/mpsafetty/sys/cam/scsi/scsi_all.c#2 integrate .. //depot/projects/mpsafetty/sys/cam/scsi/scsi_all.h#2 integrate .. //depot/projects/mpsafetty/sys/dev/ed/if_ed.c#2 integrate .. //depot/projects/mpsafetty/sys/dev/ed/if_ed_pccard.c#2 integrate .. //depot/projects/mpsafetty/sys/dev/pccard/pccard.c#3 integrate .. //depot/projects/mpsafetty/sys/dev/pccard/pccarddevs#3 integrate .. //depot/projects/mpsafetty/sys/dev/snc/if_snc_pccard.c#3 integrate .. //depot/projects/mpsafetty/sys/kern/kern_condvar.c#3 integrate .. //depot/projects/mpsafetty/sys/kern/kern_synch.c#4 integrate .. //depot/projects/mpsafetty/sys/modules/snc/Makefile#2 integrate .. //depot/projects/mpsafetty/sys/net80211/ieee80211.h#2 integrate .. //depot/projects/mpsafetty/sys/netinet/in_pcb.c#5 integrate .. //depot/projects/mpsafetty/sys/netinet/in_pcb.h#6 integrate .. //depot/projects/mpsafetty/sys/sys/sleepqueue.h#3 integrate .. //depot/projects/mpsafetty/sys/ufs/ffs/ffs_vfsops.c#3 integrate .. //depot/projects/mpsafetty/usr.bin/units/units.lib#2 integrate .. //depot/projects/mpsafetty/usr.sbin/pkg_install/Makefile.inc#2 integrate .. //depot/projects/mpsafetty/usr.sbin/pkg_install/lib/pen.c#2 integrate Differences ... ==== //depot/projects/mpsafetty/bin/cp/utils.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/cp/utils.c,v 1.53 2008/03/10 19:58:41 jhb Exp $"); +__FBSDID("$FreeBSD: src/bin/cp/utils.c,v 1.54 2008/08/07 07:29:26 trasz Exp $"); #include #include @@ -211,7 +211,6 @@ rval = 1; } } - (void)close(from_fd); /* * Don't remove the target even after an error. The target might @@ -231,6 +230,9 @@ rval = 1; } } + + (void)close(from_fd); + return (rval); } ==== //depot/projects/mpsafetty/games/fortune/fortune/fortune.6#2 (text+ko) ==== @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)fortune.6 8.3 (Berkeley) 4/19/94 -.\" $FreeBSD: src/games/fortune/fortune/fortune.6,v 1.22 2007/11/07 12:08:03 ru Exp $ +.\" $FreeBSD: src/games/fortune/fortune/fortune.6,v 1.23 2008/08/07 20:07:30 ache Exp $ .\" .Dd November 7, 2007 .Dt FORTUNE 6 @@ -186,6 +186,7 @@ fortunes) .El .Sh SEE ALSO +.Xr arc4random_uniform 3 , .Xr regcomp 3 , .Xr regex 3 , .Xr strfile 8 ==== //depot/projects/mpsafetty/games/fortune/fortune/fortune.c#2 (text+ko) ==== @@ -46,7 +46,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/games/fortune/fortune/fortune.c,v 1.31 2007/11/07 01:14:28 edwin Exp $"); +__FBSDID("$FreeBSD: src/games/fortune/fortune/fortune.c,v 1.32 2008/08/07 20:02:42 ache Exp $"); # include # include @@ -188,7 +188,6 @@ exit(find_matches() != 0); init_prob(); - srandomdev(); do { get_fort(); } while ((Short_only && fortlen() > SLEN) || @@ -982,7 +981,7 @@ if (File_list->next == NULL || File_list->percent == NO_PROB) fp = File_list; else { - choice = random() % 100; + choice = arc4random_uniform(100); DPRINTF(1, (stderr, "choice = %d\n", choice)); for (fp = File_list; fp->percent != NO_PROB; fp = fp->next) if (choice < fp->percent) @@ -1002,7 +1001,7 @@ else { if (fp->next != NULL) { sum_noprobs(fp); - choice = random() % Noprob_tbl.str_numstr; + choice = arc4random_uniform(Noprob_tbl.str_numstr); DPRINTF(1, (stderr, "choice = %d (of %u) \n", choice, Noprob_tbl.str_numstr)); while (choice >= fp->tbl.str_numstr) { @@ -1044,7 +1043,7 @@ int choice; if (Equal_probs) { - choice = random() % parent->num_children; + choice = arc4random_uniform(parent->num_children); DPRINTF(1, (stderr, " choice = %d (of %d)\n", choice, parent->num_children)); for (fp = parent->child; choice--; fp = fp->next) @@ -1054,7 +1053,7 @@ } else { get_tbl(parent); - choice = random() % parent->tbl.str_numstr; + choice = arc4random_uniform(parent->tbl.str_numstr); DPRINTF(1, (stderr, " choice = %d (of %u)\n", choice, parent->tbl.str_numstr)); for (fp = parent->child; choice >= fp->tbl.str_numstr; @@ -1143,13 +1142,13 @@ #ifdef OK_TO_WRITE_DISK if ((fd = open(fp->posfile, 0)) < 0 || read(fd, &fp->pos, sizeof fp->pos) != sizeof fp->pos) - fp->pos = random() % fp->tbl.str_numstr; + fp->pos = arc4random_uniform(fp->tbl.str_numstr); else if (fp->pos >= fp->tbl.str_numstr) fp->pos %= fp->tbl.str_numstr; if (fd >= 0) (void) close(fd); #else - fp->pos = random() % fp->tbl.str_numstr; + fp->pos = arc4random_uniform(fp->tbl.str_numstr); #endif /* OK_TO_WRITE_DISK */ } if (++(fp->pos) >= fp->tbl.str_numstr) ==== //depot/projects/mpsafetty/games/fortune/strfile/strfile.c#2 (text+ko) ==== @@ -46,7 +46,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/games/fortune/strfile/strfile.c,v 1.29 2008/02/19 07:09:17 ru Exp $"); +__FBSDID("$FreeBSD: src/games/fortune/strfile/strfile.c,v 1.30 2008/08/07 20:05:51 ache Exp $"); # include # include @@ -447,8 +447,6 @@ off_t tmp; off_t *sp; - srandomdev(); - Tbl.str_flags |= STR_RANDOM; cnt = Tbl.str_numstr; @@ -457,7 +455,7 @@ */ for (sp = Seekpts; cnt > 0; cnt--, sp++) { - i = random() % cnt; + i = arc4random_uniform(cnt); tmp = sp[0]; sp[0] = sp[i]; sp[i] = tmp; ==== //depot/projects/mpsafetty/gnu/usr.bin/groff/tmac/mdoc.local#2 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/gnu/usr.bin/groff/tmac/mdoc.local,v 1.63 2008/02/23 19:27:54 ru Exp $ +.\" $FreeBSD: src/gnu/usr.bin/groff/tmac/mdoc.local,v 1.64 2008/08/06 14:02:05 dfr Exp $ .\" .\" %beginstrip% . @@ -53,6 +53,7 @@ .ds doc-str-Lb-libmemstat Kernel Memory Allocator Statistics Library (libmemstat, \-lmemstat) .ds doc-str-Lb-libnetgraph Netgraph User Library (libnetgraph, \-lnetgraph) .ds doc-str-Lb-libpmc Performance Monitoring Counters Interface Library (libpmc, \-lpmc) +.ds doc-str-Lb-librpcsec_gss RPC GSS-API Authentication Library (librpcsec_gss, \-lrpcsec_gss) .ds doc-str-Lb-librpcsvc RPC Service Library (librpcsvc, \-lrpcsvc) .ds doc-str-Lb-libsdp Bluetooth Service Discovery Protocol User Library (libsdp, \-lsdp) .ds doc-str-Lb-libthr 1:1 Threading Library (libthr, \-lthr) ==== //depot/projects/mpsafetty/include/complex.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/include/complex.h,v 1.10 2008/03/30 20:07:15 das Exp $ + * $FreeBSD: src/include/complex.h,v 1.12 2008/08/07 15:07:48 das Exp $ */ #ifndef _COMPLEX_H @@ -48,16 +48,21 @@ long double cabsl(long double complex); double carg(double complex); float cargf(float complex); -double cimag(double complex); -float cimagf(float complex); -long double cimagl(long double complex); -double complex conj(double complex); -float complex conjf(float complex); +long double cargl(long double complex); +double cimag(double complex) __pure2; +float cimagf(float complex) __pure2; +long double cimagl(long double complex) __pure2; +double complex conj(double complex) __pure2; +float complex conjf(float complex) __pure2; +long double complex + conjl(long double complex) __pure2; +float complex cprojf(float complex) __pure2; +double complex cproj(double complex) __pure2; long double complex - conjl(long double complex); -double creal(double complex); -float crealf(float complex); -long double creall(long double complex); + cprojl(long double complex) __pure2; +double creal(double complex) __pure2; +float crealf(float complex) __pure2; +long double creall(long double complex) __pure2; double complex csqrt(double complex); float complex csqrtf(float complex); long double complex ==== //depot/projects/mpsafetty/include/gssapi/gssapi.h#2 (text+ko) ==== @@ -25,7 +25,7 @@ * HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. * - * $FreeBSD: src/include/gssapi/gssapi.h,v 1.4 2008/05/16 02:06:10 dfr Exp $ + * $FreeBSD: src/include/gssapi/gssapi.h,v 1.5 2008/08/06 14:02:05 dfr Exp $ */ #ifndef _GSSAPI_GSSAPI_H_ @@ -837,6 +837,15 @@ gss_buffer_t /* buffer for result */ ); +#ifdef _UID_T_DECLARED +OM_uint32 gss_pname_to_uid + (OM_uint32 *, /* minor status */ + const gss_name_t pname, /* principal name */ + const gss_OID mech, /* mechanism to query */ + uid_t *uidp /* pointer to UID for result */ + ); +#endif + __END_DECLS #endif /* _GSSAPI_GSSAPI_H_ */ ==== //depot/projects/mpsafetty/include/rpc/Makefile#2 (text+ko) ==== @@ -1,5 +1,5 @@ # from: @(#)Makefile 2.3 88/08/11 4.0 RPCSRC -# $FreeBSD: src/include/rpc/Makefile,v 1.3 2007/04/10 22:10:16 pjd Exp $ +# $FreeBSD: src/include/rpc/Makefile,v 1.4 2008/08/06 14:02:05 dfr Exp $ .SUFFIXES: .x @@ -11,7 +11,7 @@ HFILES= auth.h auth_unix.h clnt.h clnt_soc.h clnt_stat.h \ nettype.h pmap_clnt.h pmap_prot.h pmap_rmt.h raw.h \ - rpc.h rpc_msg.h rpcb_clnt.h rpcent.h rpc_com.h \ + rpc.h rpc_msg.h rpcb_clnt.h rpcent.h rpc_com.h rpcsec_gss.h \ svc.h svc_auth.h svc_soc.h svc_dg.h xdr.h # Secure RPC ==== //depot/projects/mpsafetty/include/rpc/auth.h#2 (text+ko) ==== @@ -31,7 +31,7 @@ * from: @(#)auth.h 1.17 88/02/08 SMI * from: @(#)auth.h 2.3 88/08/07 4.0 RPCSRC * from: @(#)auth.h 1.43 98/02/02 SMI - * $FreeBSD: src/include/rpc/auth.h,v 1.21 2006/02/28 16:02:26 deischen Exp $ + * $FreeBSD: src/include/rpc/auth.h,v 1.22 2008/08/06 14:02:05 dfr Exp $ */ /* @@ -132,7 +132,7 @@ * failed locally */ AUTH_INVALIDRESP=6, /* bogus response verifier */ - AUTH_FAILED=7 /* some unknown reason */ + AUTH_FAILED=7, /* some unknown reason */ #ifdef KERBEROS /* * kerberos errors @@ -142,8 +142,14 @@ AUTH_TIMEEXPIRE = 9, /* time of credential expired */ AUTH_TKT_FILE = 10, /* something wrong with ticket file */ AUTH_DECODE = 11, /* can't decode authenticator */ - AUTH_NET_ADDR = 12 /* wrong net address in ticket */ + AUTH_NET_ADDR = 12, /* wrong net address in ticket */ #endif /* KERBEROS */ + /* + * RPCSEC_GSS errors + */ + RPCSEC_GSS_CREDPROBLEM = 13, + RPCSEC_GSS_CTXPROBLEM = 14, + RPCSEC_GSS_NODISPATCH = 0x8000000 }; union des_block { @@ -352,5 +358,13 @@ #define AUTH_DH 3 /* for Diffie-Hellman mechanism */ #define AUTH_DES AUTH_DH /* for backward compatibility */ #define AUTH_KERB 4 /* kerberos style */ +#define RPCSEC_GSS 6 /* RPCSEC_GSS */ + +/* + * Pseudo auth flavors for RPCSEC_GSS. + */ +#define RPCSEC_GSS_KRB5 390003 +#define RPCSEC_GSS_KRB5I 390004 +#define RPCSEC_GSS_KRB5P 390005 #endif /* !_RPC_AUTH_H */ ==== //depot/projects/mpsafetty/include/rpc/svc.h#2 (text+ko) ==== @@ -30,7 +30,7 @@ * * from: @(#)svc.h 1.35 88/12/17 SMI * from: @(#)svc.h 1.27 94/04/25 SMI - * $FreeBSD: src/include/rpc/svc.h,v 1.24 2003/06/15 10:32:01 mbr Exp $ + * $FreeBSD: src/include/rpc/svc.h,v 1.25 2008/08/06 14:02:05 dfr Exp $ */ /* @@ -127,6 +127,27 @@ } SVCXPRT; /* + * Interface to server-side authentication flavors. + */ +typedef struct __rpc_svcauth { + struct svc_auth_ops { + int (*svc_ah_wrap)(struct __rpc_svcauth *, XDR *, + xdrproc_t, caddr_t); + int (*svc_ah_unwrap)(struct __rpc_svcauth *, XDR *, + xdrproc_t, caddr_t); + } *svc_ah_ops; + void *svc_ah_private; +} SVCAUTH; + +/* + * Server transport extensions (accessed via xp_p3). + */ +typedef struct __rpc_svcxprt_ext { + int xp_flags; /* versquiet */ + SVCAUTH xp_auth; /* interface to auth methods */ +} SVCXPRT_EXT; + +/* * Service request */ struct svc_req { @@ -184,6 +205,20 @@ #define SVC_CONTROL(xprt, rq, in) \ (*(xprt)->xp_ops2->xp_control)((xprt), (rq), (in)) +#define SVC_EXT(xprt) \ + ((SVCXPRT_EXT *) xprt->xp_p3) + +#define SVC_AUTH(xprt) \ + (SVC_EXT(xprt)->xp_auth) + +/* + * Operations defined on an SVCAUTH handle + */ +#define SVCAUTH_WRAP(auth, xdrs, xfunc, xwhere) \ + ((auth)->svc_ah_ops->svc_ah_wrap(auth, xdrs, xfunc, xwhere)) +#define SVCAUTH_UNWRAP(auth, xdrs, xfunc, xwhere) \ + ((auth)->svc_ah_ops->svc_ah_unwrap(auth, xdrs, xfunc, xwhere)) + /* * Service registration * @@ -298,6 +333,12 @@ #endif /* def FD_SETSIZE */ /* + * A set of null auth methods used by any authentication protocols + * that don't need to inspect or modify the message body. + */ +extern SVCAUTH _svc_auth_null; + +/* * a small program implemented by the svc_rpc implementation itself; * also see clnt.h for protocol numbers. */ @@ -306,6 +347,8 @@ __END_DECLS __BEGIN_DECLS +extern SVCXPRT *svc_xprt_alloc(void); +extern void svc_xprt_free(SVCXPRT *); extern void svc_getreq(int); extern void svc_getreqset(fd_set *); extern void svc_getreq_common(int); ==== //depot/projects/mpsafetty/kerberos5/lib/libgssapi_krb5/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/kerberos5/lib/libgssapi_krb5/Makefile,v 1.1 2008/05/07 13:53:03 dfr Exp $ +# $FreeBSD: src/kerberos5/lib/libgssapi_krb5/Makefile,v 1.2 2008/08/06 14:02:05 dfr Exp $ LIB= gssapi_krb5 LDFLAGS= -Wl,-Bsymbolic @@ -46,6 +46,7 @@ inquire_mechs_for_name.c \ inquire_names_for_mech.c \ inquire_sec_context_by_oid.c \ + pname_to_uid.c \ prefix.c \ prf.c \ process_context_token.c \ ==== //depot/projects/mpsafetty/lib/Makefile#2 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/4/93 -# $FreeBSD: src/lib/Makefile,v 1.231 2008/05/25 22:11:23 rwatson Exp $ +# $FreeBSD: src/lib/Makefile,v 1.232 2008/08/06 14:02:05 dfr Exp $ .include @@ -22,6 +22,7 @@ # libtacplus must be built before libpam. # libutil must be built before libpam. # libypclnt must be built before libpam. +# libgssapi must be built before librpcsec_gss # # Otherwise, the SUBDIR list should be in alphabetical order. @@ -31,7 +32,7 @@ libbegemot ${_libbluetooth} libbsnmp libbz2 \ libcalendar libcam libcompat libdevinfo libdevstat libdisk \ libdwarf libedit libexpat libfetch libftpio libgeom ${_libgpib} \ - ${_libgssapi} libipsec \ + ${_libgssapi} ${_librpcsec_gss} libipsec \ ${_libipx} libkiconv libmagic libmemstat ${_libmilter} ${_libmp} \ ${_libncp} ${_libngatm} libopie libpam libpcap \ libpmc libproc librt ${_libsdp} ${_libsm} ${_libsmb} \ @@ -62,6 +63,7 @@ .if ${MK_GSSAPI} != "no" _libgssapi= libgssapi +_librpcsec_gss= librpcsec_gss .endif .if ${MK_IPX} != "no" ==== //depot/projects/mpsafetty/lib/libc/rpc/Makefile.inc#2 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 5.11 (Berkeley) 9/6/90 -# $FreeBSD: src/lib/libc/rpc/Makefile.inc,v 1.28 2006/03/13 01:14:59 deischen Exp $ +# $FreeBSD: src/lib/libc/rpc/Makefile.inc,v 1.29 2008/08/06 14:02:05 dfr Exp $ .PATH: ${.CURDIR}/rpc ${.CURDIR}/. SRCS+= auth_none.c auth_unix.c authunix_prot.c bindresvport.c clnt_bcast.c \ @@ -8,8 +8,9 @@ getrpcport.c mt_misc.c pmap_clnt.c pmap_getmaps.c pmap_getport.c \ pmap_prot.c pmap_prot2.c pmap_rmt.c rpc_prot.c rpc_commondata.c \ rpc_callmsg.c rpc_generic.c rpc_soc.c rpcb_clnt.c rpcb_prot.c \ - rpcb_st_xdr.c svc.c svc_auth.c svc_dg.c svc_auth_unix.c svc_generic.c \ - svc_raw.c svc_run.c svc_simple.c svc_vc.c + rpcb_st_xdr.c rpcsec_gss_stub.c svc.c svc_auth.c svc_dg.c \ + svc_auth_unix.c svc_generic.c svc_raw.c svc_run.c svc_simple.c \ + svc_vc.c # Secure-RPC SRCS+= auth_time.c auth_des.c authdes_prot.c des_crypt.c des_soft.c \ ==== //depot/projects/mpsafetty/lib/libc/rpc/Symbol.map#2 (text) ==== @@ -1,5 +1,5 @@ /* - * $FreeBSD: src/lib/libc/rpc/Symbol.map,v 1.3 2007/05/31 13:01:34 deischen Exp $ + * $FreeBSD: src/lib/libc/rpc/Symbol.map,v 1.4 2008/08/06 14:02:05 dfr Exp $ */ FBSD_1.0 { @@ -244,4 +244,8 @@ * Remove this hack if rpcinfo stops building with it. */ __svc_clean_idle; + __rpc_gss_unwrap; + __rpc_gss_unwrap_stub; + __rpc_gss_wrap; + __rpc_gss_wrap_stub; }; ==== //depot/projects/mpsafetty/lib/libc/rpc/clnt_dg.c#2 (text+ko) ==== @@ -37,7 +37,7 @@ static char sccsid[] = "@(#)clnt_dg.c 1.19 89/03/16 Copyr 1988 Sun Micro"; #endif #include -__FBSDID("$FreeBSD: src/lib/libc/rpc/clnt_dg.c,v 1.19 2007/03/04 12:25:03 simon Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/rpc/clnt_dg.c,v 1.20 2008/08/06 14:02:05 dfr Exp $"); /* * Implements a connectionless client side RPC. @@ -52,6 +52,7 @@ #include #include #include +#include #include #include #include @@ -113,6 +114,8 @@ /* VARIABLES PROTECTED BY clnt_fd_lock: dg_fd_locks, dg_cv */ +#define MCALL_MSG_SIZE 24 + /* * Private data kept per client handle */ @@ -127,6 +130,7 @@ XDR cu_outxdrs; u_int cu_xdrpos; u_int cu_sendsz; /* send size */ + char cu_outhdr[MCALL_MSG_SIZE]; char *cu_outbuf; u_int cu_recvsz; /* recv size */ int cu_async; @@ -253,13 +257,16 @@ call_msg.rm_xid = __RPC_GETXID(&now); call_msg.rm_call.cb_prog = program; call_msg.rm_call.cb_vers = version; - xdrmem_create(&(cu->cu_outxdrs), cu->cu_outbuf, sendsz, XDR_ENCODE); - if (! xdr_callhdr(&(cu->cu_outxdrs), &call_msg)) { + xdrmem_create(&(cu->cu_outxdrs), cu->cu_outhdr, MCALL_MSG_SIZE, + XDR_ENCODE); + if (! xdr_callhdr(&cu->cu_outxdrs, &call_msg)) { rpc_createerr.cf_stat = RPC_CANTENCODEARGS; /* XXX */ rpc_createerr.cf_error.re_errno = 0; goto err2; } cu->cu_xdrpos = XDR_GETPOS(&(cu->cu_outxdrs)); + XDR_DESTROY(&cu->cu_outxdrs); + xdrmem_create(&cu->cu_outxdrs, cu->cu_outbuf, sendsz, XDR_ENCODE); /* XXX fvdl - do we still want this? */ #if 0 @@ -312,6 +319,7 @@ XDR reply_xdrs; bool_t ok; int nrefreshes = 2; /* number of times to refresh cred */ + int nretries = 0; /* number of times we retransmitted */ struct timeval timeout; struct timeval retransmit_time; struct timeval next_sendtime, starttime, time_waited, tv; @@ -375,25 +383,37 @@ kin_len = 1; call_again: - xdrs = &(cu->cu_outxdrs); - if (cu->cu_async == TRUE && xargs == NULL) - goto get_reply; - xdrs->x_op = XDR_ENCODE; - XDR_SETPOS(xdrs, cu->cu_xdrpos); /* * the transaction is the first thing in the out buffer * XXX Yes, and it's in network byte order, so we should to * be careful when we increment it, shouldn't we. */ - xid = ntohl(*(u_int32_t *)(void *)(cu->cu_outbuf)); + xid = ntohl(*(u_int32_t *)(void *)(cu->cu_outhdr)); xid++; - *(u_int32_t *)(void *)(cu->cu_outbuf) = htonl(xid); + *(u_int32_t *)(void *)(cu->cu_outhdr) = htonl(xid); +call_again_same_xid: + xdrs = &(cu->cu_outxdrs); + if (cu->cu_async == TRUE && xargs == NULL) + goto get_reply; + xdrs->x_op = XDR_ENCODE; + XDR_SETPOS(xdrs, 0); - if ((! XDR_PUTINT32(xdrs, &proc)) || - (! AUTH_MARSHALL(cl->cl_auth, xdrs)) || - (! (*xargs)(xdrs, argsp))) { - cu->cu_error.re_status = RPC_CANTENCODEARGS; - goto out; + if (cl->cl_auth->ah_cred.oa_flavor != RPCSEC_GSS) { + if ((! XDR_PUTBYTES(xdrs, cu->cu_outhdr, cu->cu_xdrpos)) || + (! XDR_PUTINT32(xdrs, &proc)) || + (! AUTH_MARSHALL(cl->cl_auth, xdrs)) || + (! (*xargs)(xdrs, argsp))) { + cu->cu_error.re_status = RPC_CANTENCODEARGS; + goto out; + } + } else { + *(uint32_t *) &cu->cu_outhdr[cu->cu_xdrpos] = htonl(proc); + if (!__rpc_gss_wrap(cl->cl_auth, cu->cu_outhdr, + cu->cu_xdrpos + sizeof(uint32_t), + xdrs, xargs, argsp)) { + cu->cu_error.re_status = RPC_CANTENCODEARGS; + goto out; + } } outlen = (size_t)XDR_GETPOS(xdrs); @@ -420,8 +440,13 @@ * (We assume that this is actually only executed once.) */ reply_msg.acpted_rply.ar_verf = _null_auth; - reply_msg.acpted_rply.ar_results.where = resultsp; - reply_msg.acpted_rply.ar_results.proc = xresults; + if (cl->cl_auth->ah_cred.oa_flavor != RPCSEC_GSS) { + reply_msg.acpted_rply.ar_results.where = resultsp; + reply_msg.acpted_rply.ar_results.proc = xresults; + } else { + reply_msg.acpted_rply.ar_results.where = NULL; + reply_msg.acpted_rply.ar_results.proc = (xdrproc_t)xdr_void; + } for (;;) { /* Decide how long to wait. */ @@ -483,7 +508,17 @@ &retransmit_time); timeradd(&next_sendtime, &retransmit_time, &next_sendtime); - goto send_again; + nretries++; + + /* + * When retransmitting a RPCSEC_GSS message, + * we must use a new sequence number (handled + * by __rpc_gss_wrap above). + */ + if (cl->cl_auth->ah_cred.oa_flavor != RPCSEC_GSS) + goto send_again; + else + goto call_again_same_xid; } } inlen = (socklen_t)recvlen; @@ -505,8 +540,37 @@ if (cu->cu_error.re_status == RPC_SUCCESS) { if (! AUTH_VALIDATE(cl->cl_auth, &reply_msg.acpted_rply.ar_verf)) { + if (nretries && + cl->cl_auth->ah_cred.oa_flavor + == RPCSEC_GSS) + /* + * If we retransmitted, its + * possible that we will + * receive a reply for one of + * the earlier transmissions + * (which will use an older + * RPCSEC_GSS sequence + * number). In this case, just + * go back and listen for a + * new reply. We could keep a + * record of all the seq + * numbers we have transmitted + * so far so that we could + * accept a reply for any of + * them here. + */ + goto get_reply; cu->cu_error.re_status = RPC_AUTHERROR; cu->cu_error.re_why = AUTH_INVALIDRESP; + } else { + if (cl->cl_auth->ah_cred.oa_flavor + == RPCSEC_GSS) { + if (!__rpc_gss_unwrap(cl->cl_auth, + &reply_xdrs, xresults, + resultsp)) + cu->cu_error.re_status = + RPC_CANTDECODERES; + } } if (reply_msg.acpted_rply.ar_verf.oa_base != NULL) { xdrs->x_op = XDR_FREE; @@ -670,12 +734,12 @@ * This will get the xid of the PREVIOUS call */ *(u_int32_t *)info = - ntohl(*(u_int32_t *)(void *)cu->cu_outbuf); + ntohl(*(u_int32_t *)(void *)cu->cu_outhdr); break; case CLSET_XID: /* This will set the xid of the NEXT call */ - *(u_int32_t *)(void *)cu->cu_outbuf = + *(u_int32_t *)(void *)cu->cu_outhdr = htonl(*(u_int32_t *)info - 1); /* decrement by 1 as clnt_dg_call() increments once */ break; @@ -688,12 +752,12 @@ * call_struct is changed */ *(u_int32_t *)info = - ntohl(*(u_int32_t *)(void *)(cu->cu_outbuf + + ntohl(*(u_int32_t *)(void *)(cu->cu_outhdr + 4 * BYTES_PER_XDR_UNIT)); break; case CLSET_VERS: - *(u_int32_t *)(void *)(cu->cu_outbuf + 4 * BYTES_PER_XDR_UNIT) + *(u_int32_t *)(void *)(cu->cu_outhdr + 4 * BYTES_PER_XDR_UNIT) = htonl(*(u_int32_t *)info); break; @@ -705,12 +769,12 @@ * call_struct is changed */ *(u_int32_t *)info = - ntohl(*(u_int32_t *)(void *)(cu->cu_outbuf + + ntohl(*(u_int32_t *)(void *)(cu->cu_outhdr + 3 * BYTES_PER_XDR_UNIT)); break; case CLSET_PROG: - *(u_int32_t *)(void *)(cu->cu_outbuf + 3 * BYTES_PER_XDR_UNIT) + *(u_int32_t *)(void *)(cu->cu_outhdr + 3 * BYTES_PER_XDR_UNIT) = htonl(*(u_int32_t *)info); break; case CLSET_ASYNC: ==== //depot/projects/mpsafetty/lib/libc/rpc/clnt_perror.c#2 (text+ko) ==== @@ -35,7 +35,7 @@ static char *sccsid = "@(#)clnt_perror.c 2.1 88/07/29 4.0 RPCSRC"; #endif #include -__FBSDID("$FreeBSD: src/lib/libc/rpc/clnt_perror.c,v 1.17 2004/10/16 06:11:34 obrien Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/rpc/clnt_perror.c,v 1.18 2008/08/06 14:02:05 dfr Exp $"); /* * clnt_perror.c @@ -309,7 +309,14 @@ "Server rejected verifier", /* 4 - AUTH_REJECTEDVERF */ "Client credential too weak", /* 5 - AUTH_TOOWEAK */ "Invalid server verifier", /* 6 - AUTH_INVALIDRESP */ - "Failed (unspecified error)" /* 7 - AUTH_FAILED */ + "Failed (unspecified error)", /* 7 - AUTH_FAILED */ + "Kerberos generic error", /* 8 - AUTH_KERB_GENERIC*/ + "Kerberos credential expired", /* 9 - AUTH_TIMEEXPIRE */ + "Bad kerberos ticket file", /* 10 - AUTH_TKT_FILE */ + "Can't decode kerberos authenticator", /* 11 - AUTH_DECODE */ + "Address wrong in kerberos ticket", /* 12 - AUTH_NET_ADDR */ + "GSS-API crediential problem", /* 13 - RPCSEC_GSS_CREDPROBLEM */ + "GSS-API context problem" /* 14 - RPCSEC_GSS_CTXPROBLEM */ }; static char * ==== //depot/projects/mpsafetty/lib/libc/rpc/clnt_vc.c#2 (text+ko) ==== @@ -35,7 +35,7 @@ static char sccsid3[] = "@(#)clnt_vc.c 1.19 89/03/16 Copyr 1988 Sun Micro"; #endif #include -__FBSDID("$FreeBSD: src/lib/libc/rpc/clnt_vc.c,v 1.20 2006/09/09 22:18:57 mbr Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/rpc/clnt_vc.c,v 1.21 2008/08/06 14:02:05 dfr Exp $"); /* * clnt_tcp.c, Implements a TCP/IP based, client side RPC. @@ -77,6 +77,7 @@ #include #include +#include #include "un-namespace.h" #include "rpc_com.h" #include "mt_misc.h" @@ -285,6 +286,7 @@ } ct->ct_mpos = XDR_GETPOS(&(ct->ct_xdrs)); XDR_DESTROY(&(ct->ct_xdrs)); + assert(ct->ct_mpos + sizeof(uint32_t) <= MCALL_MSG_SIZE); /* * Create a client handle which uses xdrrec for serialization @@ -331,6 +333,7 @@ int refreshes = 2; sigset_t mask, newmask; int rpc_lock_value; + bool_t reply_stat; assert(cl != NULL); @@ -360,15 +363,28 @@ ct->ct_error.re_status = RPC_SUCCESS; x_id = ntohl(--(*msg_x_id)); - if ((! XDR_PUTBYTES(xdrs, ct->ct_u.ct_mcallc, ct->ct_mpos)) || - (! XDR_PUTINT32(xdrs, &proc)) || - (! AUTH_MARSHALL(cl->cl_auth, xdrs)) || - (! (*xdr_args)(xdrs, args_ptr))) { - if (ct->ct_error.re_status == RPC_SUCCESS) - ct->ct_error.re_status = RPC_CANTENCODEARGS; - (void)xdrrec_endofrecord(xdrs, TRUE); - release_fd_lock(ct->ct_fd, mask); - return (ct->ct_error.re_status); + if (cl->cl_auth->ah_cred.oa_flavor != RPCSEC_GSS) { + if ((! XDR_PUTBYTES(xdrs, ct->ct_u.ct_mcallc, ct->ct_mpos)) || + (! XDR_PUTINT32(xdrs, &proc)) || + (! AUTH_MARSHALL(cl->cl_auth, xdrs)) || + (! (*xdr_args)(xdrs, args_ptr))) { + if (ct->ct_error.re_status == RPC_SUCCESS) + ct->ct_error.re_status = RPC_CANTENCODEARGS; + (void)xdrrec_endofrecord(xdrs, TRUE); + release_fd_lock(ct->ct_fd, mask); + return (ct->ct_error.re_status); + } + } else { + *(uint32_t *) &ct->ct_u.ct_mcallc[ct->ct_mpos] = htonl(proc); + if (! __rpc_gss_wrap(cl->cl_auth, ct->ct_u.ct_mcallc, + ct->ct_mpos + sizeof(uint32_t), + xdrs, xdr_args, args_ptr)) { + if (ct->ct_error.re_status == RPC_SUCCESS) + ct->ct_error.re_status = RPC_CANTENCODEARGS; + (void)xdrrec_endofrecord(xdrs, TRUE); + release_fd_lock(ct->ct_fd, mask); + return (ct->ct_error.re_status); + } } if (! xdrrec_endofrecord(xdrs, shipnow)) { release_fd_lock(ct->ct_fd, mask); @@ -419,9 +435,18 @@ &reply_msg.acpted_rply.ar_verf)) { ct->ct_error.re_status = RPC_AUTHERROR; ct->ct_error.re_why = AUTH_INVALIDRESP; - } else if (! (*xdr_results)(xdrs, results_ptr)) { - if (ct->ct_error.re_status == RPC_SUCCESS) - ct->ct_error.re_status = RPC_CANTDECODERES; + } else { + if (cl->cl_auth->ah_cred.oa_flavor != RPCSEC_GSS) { + reply_stat = (*xdr_results)(xdrs, results_ptr); + } else { + reply_stat = __rpc_gss_unwrap(cl->cl_auth, + xdrs, xdr_results, results_ptr); + } + if (! reply_stat) { + if (ct->ct_error.re_status == RPC_SUCCESS) + ct->ct_error.re_status = + RPC_CANTDECODERES; + } } /* free verifier ... */ if (reply_msg.acpted_rply.ar_verf.oa_base != NULL) { ==== //depot/projects/mpsafetty/lib/libc/rpc/svc.c#2 (text+ko) ==== @@ -34,7 +34,7 @@ static char *sccsid = "@(#)svc.c 2.4 88/08/11 4.0 RPCSRC"; #endif #include -__FBSDID("$FreeBSD: src/lib/libc/rpc/svc.c,v 1.24 2006/02/27 22:10:59 deischen Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/rpc/svc.c,v 1.25 2008/08/06 14:02:05 dfr Exp $"); /* * svc.c, Server-side remote procedure call interface. @@ -67,7 +67,7 @@ #define RQCRED_SIZE 400 /* this size is excessive */ #define SVC_VERSQUIET 0x0001 /* keep quiet about vers mismatch */ -#define version_keepquiet(xp) ((u_long)(xp)->xp_p3 & SVC_VERSQUIET) +#define version_keepquiet(xp) (SVC_EXT(xp)->xp_flags & SVC_VERSQUIET) #define max(a, b) (a > b ? a : b) @@ -452,20 +452,16 @@ __svc_versquiet_on(xprt) SVCXPRT *xprt; { - u_long tmp; - tmp = ((u_long) xprt->xp_p3) | SVC_VERSQUIET; - xprt->xp_p3 = tmp; + SVC_EXT(xprt)->xp_flags |= SVC_VERSQUIET; } void __svc_versquiet_off(xprt) SVCXPRT *xprt; { - u_long tmp; - tmp = ((u_long) xprt->xp_p3) & ~SVC_VERSQUIET; - xprt->xp_p3 = tmp; + SVC_EXT(xprt)->xp_flags &= ~SVC_VERSQUIET; } void @@ -479,7 +475,8 @@ __svc_versquiet_get(xprt) SVCXPRT *xprt; { - return ((int) xprt->xp_p3) & SVC_VERSQUIET; + + return (SVC_EXT(xprt)->xp_flags & SVC_VERSQUIET); } #endif @@ -555,6 +552,39 @@ SVC_REPLY(xprt, &rply); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Aug 7 21:34:10 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5ADBF1065674; Thu, 7 Aug 2008 21:34:10 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0533B1065678 for ; Thu, 7 Aug 2008 21:34:10 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E62A68FC25 for ; Thu, 7 Aug 2008 21:34:09 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m77LY9Tb025938 for ; Thu, 7 Aug 2008 21:34:09 GMT (envelope-from remko@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m77LY9qp025936 for perforce@freebsd.org; Thu, 7 Aug 2008 21:34:09 GMT (envelope-from remko@freebsd.org) Date: Thu, 7 Aug 2008 21:34:09 GMT Message-Id: <200808072134.m77LY9qp025936@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to remko@freebsd.org using -f From: Remko Lodder To: Perforce Change Reviews Cc: Subject: PERFORCE change 146873 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: Thu, 07 Aug 2008 21:34:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=146873 Change 146873 by remko@remko_nakur on 2008/08/07 21:34:03 Checkpoint my work till so far. Weekend. Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/faq/book.sgml#11 edit Differences ... ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/faq/book.sgml#11 (text+ko) ==== @@ -1282,19 +1282,20 @@ - Using the DOS copy command (or - equivalent GUI tool) to transfer the boot image to - floppy. + Gebruik maken van het DOS copy + (of equivalente GUI tool) om de opstart image te + kopieren naar floppy. - Programs like copy will not work - as the boot image has been created to be booted into - directly. The image has the complete content of the - floppy, track for track, and is not meant to be placed - on the floppy as a regular file. You have to transfer - it to the floppy raw, using the low-level - tools (e.g. fdimage or - rawrite) described in the installation guide to &os;. + Programma's zoals copy zullen + niet meteen werken omdat de opstart image gemaakt is + om meteen naartoe op te starten.. De image heeft de + complete inhoud van de floppy, track voor track en is + niet bedoeld om als één bestand op de + floppy gezet te worden. Het moet rauw + gekopieerd worden naar de floppy door middel van een + low-level tool (zoals fdimage of + rawriteInstallatie handleiding voor &os;. @@ -1303,134 +1304,138 @@ - Where are the instructions for installing &os;? + Wat zijn de instructies om &os; te installeren? - Installation instructions can be found in the Handbook entry on installing &os;. + Installatie instructies kunnen gevonden worden in de + Handbook sectie over het installeren van &os;. - What do I need in order to run &os;? + Wat heb ik nodig om &os; te kunnen draaien? - For &os; you will need a 486 or better PC, with - 24 MB or more of RAM and at least 150 MB of hard - disk space. + Voor &os; is een 486 of betere PC benodigd, met + 24 MB of meer RAM geheugen en minstens 150 MB + harde schijf ruimte. - All versions of &os; can run with a low end MDA graphics - card but to run &xorg;, a VGA or better video card is - needed. + Alle versies van &os; kunnen draaien met een simpele + MDA grafische kaart, maar om &xorg; te kunnen draaien is + een VGA of betere videokaart benodigd. - See also . + Zie ook . - How can I make my own custom install floppy? + Hoe kan ik mijn eigen installatie floppy maken? - Currently there is no way to just - make a custom install floppy. You have to cut a whole new - release, which will include your install floppy. + Op dit moment is het niet mogelijk om + zomaar even een eigen installatie + floppy te maken. Er moet een volledig nieuwe release + gemaakt worden, welke inclusief de nieuwe installatie + floppy is. - To make a custom release, follow the instructions in the + Om een eigen versie te maken, volg de instructies in het Release Engineering - article. + artikel. - Can I have more than one operating system on my - PC? + Kan ik meer dan één besturingssysteem op + mijn PC hebben? - Have a look at the multi-OS page. + Neem een kijkje op de Meerdere besturingssystemen pagina. - Can &windows; co-exist with &os;? + Kan &windows; naast &os; bestaan? - Install &windows; first, then &os;. &os;'s boot manager - will then manage to boot &windows; and &os;. If you install - &windows; second, it will boorishly overwrite your boot - manager without even asking. If that happens, see the next - section. + Installeer eerst &windows; daarna &os;. &os;'s + opstartmanager is in staat om zowel &windows; als &os; op te + starten. Als &windows; als tweede geïnstalleerd wordt + zal dit blind de opstartmanager overschrijven zonder dat + het ook maar gevraagd wordt. Als dat gebeurd, zie dan de + volgende sectie. - &windows; killed my boot manager! How do I get it - back? + &windows; heeft mijn opstartmanager verwijderd! Hoe + krijg ik deze terug? - You can reinstall the boot manager &os; comes with in - one of three ways: + De opstartmanager van &os; kan op één van + de volgende drie manieren opnieuw geïnstalleerd + worden: - Running DOS, go into the tools directory of your - &os; distribution and look for - bootinst.exe. You run it like - so: + In DOS, ga naar de tools directory van de + &os; distributie, en zoek naar + bootinst.exe. Deze moet als + volgend gestart worden: ...\TOOLS> bootinst.exe boot.bin - and the boot manager will be reinstalled. + en de opstartmanager is opnieuw geïnstalleerd. - Boot the &os; boot floppy again and go to the - Custom menu item for custom - installation. Choose - Partition. Select the drive - which used to contain your boot manager (likely the - first one) and when you come to the partition editor for - it, as the very first thing (e.g. do not make any - changes) press W. This will ask for - confirmation, select &gui.yes;, and when you get the - Boot Manager selection prompt, be sure to select the - &os; Boot Manager. This will - re-write the boot manager to disk. Now quit out of the - installation menu and reboot off the hard disk as - normal. + Start de &os; opstart floppy wederom en ga naar + de Custom menu item voor + een eigen installatie. Kies + Partition. Selecteer de + schrijf die gebruikt gaat worden voor de opstartmanager + (waarschijnlijk is dat de eerste) en zodra je in de + partitie editor zit, druk je als allereerste (maak + dus geen wijzigingen!) W. Deze + optie vraagt om een bevestiging, selecteer &gui.yes; + en zodra de Boot Manager selectie prompt komt selecteer + dan de &os; Boot Manager - Boot the &os; boot floppy (or CD-ROM) and choose the - Fixit menu item. Select - either the Fixit floppy or CD-ROM #2 (the - live file system option) as appropriate - and enter the fixit shell. Then execute the following - command: + Start de &os; opstart floppy (of CD-ROM) en + selecteer het Fixit menu item. + Selecteer of de reparatie floppy, of de 2e CD-ROM + (de live bestandssysteem optie) zoals + gewenst, en ga de reparatie shell in. Voer daarna + het volgende command uit: - Fixit# fdisk -B -b /boot/boot0 bootdevice + Fixit# fdisk -B -b /boot/boot0 opstartschijf - substituting bootdevice - for your real boot device such as - ad0 (first IDE disk), - ad4 (first IDE disk on - auxiliary controller), da0 - (first SCSI disk), etc. + waarbij opstartschijf + moet worden vervangen voor de echte opstartschijf + zoals ad0 (eerste IDE schijf) + , ad4 (eerste IDE schijf op + een externe controller), da0 + (eerste SCSI disk), etc. From owner-p4-projects@FreeBSD.ORG Thu Aug 7 22:19:56 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B44BC1065678; Thu, 7 Aug 2008 22:19:56 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 76A191065674 for ; Thu, 7 Aug 2008 22:19:56 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 635D58FC13 for ; Thu, 7 Aug 2008 22:19:56 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m77MJurl030675 for ; Thu, 7 Aug 2008 22:19:56 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m77MJu1A030673 for perforce@freebsd.org; Thu, 7 Aug 2008 22:19:56 GMT (envelope-from pgj@FreeBSD.org) Date: Thu, 7 Aug 2008 22:19:56 GMT Message-Id: <200808072219.m77MJu1A030673@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 146875 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: Thu, 07 Aug 2008 22:19:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=146875 Change 146875 by pgj@disznohal on 2008/08/07 22:19:17 Modify links to point to Hungarian documents where possible Affected files ... .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/faq/book.sgml#10 edit Differences ... ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/faq/book.sgml#10 (text+ko) ==== @@ -1,7 +1,11 @@ %books.ent; + + + ]> From owner-p4-projects@FreeBSD.ORG Thu Aug 7 23:29:07 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A465F1065670; Thu, 7 Aug 2008 23:29:07 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 67A59106567E for ; Thu, 7 Aug 2008 23:29:07 +0000 (UTC) (envelope-from sson@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 542278FC20 for ; Thu, 7 Aug 2008 23:29:07 +0000 (UTC) (envelope-from sson@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m77NT7bV037768 for ; Thu, 7 Aug 2008 23:29:07 GMT (envelope-from sson@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m77NT7HY037766 for perforce@freebsd.org; Thu, 7 Aug 2008 23:29:07 GMT (envelope-from sson@FreeBSD.org) Date: Thu, 7 Aug 2008 23:29:07 GMT Message-Id: <200808072329.m77NT7HY037766@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sson@FreeBSD.org using -f From: Stacey Son To: Perforce Change Reviews Cc: Subject: PERFORCE change 146881 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: Thu, 07 Aug 2008 23:29:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=146881 Change 146881 by sson@sson_amd64 on 2008/08/07 23:28:39 Add --with-native-includes configure option. Moved include files shared with kernel to sys/bsm. Affected files ... .. //depot/projects/trustedbsd/openbsm/Makefile.am#3 edit .. //depot/projects/trustedbsd/openbsm/Makefile.in#7 edit .. //depot/projects/trustedbsd/openbsm/bin/Makefile.in#7 edit .. //depot/projects/trustedbsd/openbsm/bin/audit/Makefile.am#4 edit .. //depot/projects/trustedbsd/openbsm/bin/audit/Makefile.in#8 edit .. //depot/projects/trustedbsd/openbsm/bin/auditd/Makefile.am#4 edit .. //depot/projects/trustedbsd/openbsm/bin/auditd/Makefile.in#8 edit .. //depot/projects/trustedbsd/openbsm/bin/auditfilterd/Makefile.am#3 edit .. //depot/projects/trustedbsd/openbsm/bin/auditfilterd/Makefile.in#5 edit .. //depot/projects/trustedbsd/openbsm/bin/auditreduce/Makefile.am#3 edit .. //depot/projects/trustedbsd/openbsm/bin/auditreduce/Makefile.in#7 edit .. //depot/projects/trustedbsd/openbsm/bin/praudit/Makefile.am#3 edit .. //depot/projects/trustedbsd/openbsm/bin/praudit/Makefile.in#7 edit .. //depot/projects/trustedbsd/openbsm/bsm/Makefile.am#3 edit .. //depot/projects/trustedbsd/openbsm/bsm/Makefile.in#7 edit .. //depot/projects/trustedbsd/openbsm/bsm/audit.h#25 delete .. //depot/projects/trustedbsd/openbsm/bsm/audit_internal.h#18 delete .. //depot/projects/trustedbsd/openbsm/bsm/audit_kevents.h#56 delete .. //depot/projects/trustedbsd/openbsm/bsm/audit_record.h#29 delete .. //depot/projects/trustedbsd/openbsm/config/config.h.in#13 edit .. //depot/projects/trustedbsd/openbsm/configure#38 edit .. //depot/projects/trustedbsd/openbsm/configure.ac#40 edit .. //depot/projects/trustedbsd/openbsm/libbsm/Makefile.am#5 edit .. //depot/projects/trustedbsd/openbsm/libbsm/Makefile.in#8 edit .. //depot/projects/trustedbsd/openbsm/man/Makefile.in#6 edit .. //depot/projects/trustedbsd/openbsm/modules/Makefile.in#4 edit .. //depot/projects/trustedbsd/openbsm/modules/auditfilter_noop/Makefile.am#3 edit .. //depot/projects/trustedbsd/openbsm/modules/auditfilter_noop/Makefile.in#5 edit .. //depot/projects/trustedbsd/openbsm/sys/Makefile.am#1 add .. //depot/projects/trustedbsd/openbsm/sys/Makefile.in#1 add .. //depot/projects/trustedbsd/openbsm/sys/bsm/Makefile.am#1 add .. //depot/projects/trustedbsd/openbsm/sys/bsm/Makefile.in#1 add .. //depot/projects/trustedbsd/openbsm/sys/bsm/audit.h#1 branch .. //depot/projects/trustedbsd/openbsm/sys/bsm/audit_internal.h#1 branch .. //depot/projects/trustedbsd/openbsm/sys/bsm/audit_kevents.h#1 branch .. //depot/projects/trustedbsd/openbsm/sys/bsm/audit_record.h#1 branch .. //depot/projects/trustedbsd/openbsm/test/Makefile.am#2 edit .. //depot/projects/trustedbsd/openbsm/test/Makefile.in#4 edit .. //depot/projects/trustedbsd/openbsm/test/bsm/Makefile.am#3 edit .. //depot/projects/trustedbsd/openbsm/test/bsm/Makefile.in#5 edit .. //depot/projects/trustedbsd/openbsm/tools/Makefile.am#4 edit .. //depot/projects/trustedbsd/openbsm/tools/Makefile.in#8 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/Makefile.am#3 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $P4: //depot/projects/trustedbsd/openbsm/Makefile.am#2 $ +# $P4: //depot/projects/trustedbsd/openbsm/Makefile.am#3 $ # SUBDIRS = \ @@ -7,7 +7,8 @@ libbsm \ bin \ man \ - modules + modules \ + sys EXTRA_DIST = \ CHANGELOG \ ==== //depot/projects/trustedbsd/openbsm/Makefile.in#7 (text+ko) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/openbsm/Makefile.in#6 $ +# $P4: //depot/projects/trustedbsd/openbsm/Makefile.in#7 $ # VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ @@ -38,7 +38,7 @@ subdir = . DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(top_srcdir)/config/config.h.in \ - $(top_srcdir)/configure TODO config/config.guess \ + $(top_srcdir)/configure INSTALL NEWS TODO config/config.guess \ config/config.sub config/depcomp config/install-sh \ config/ltmain.sh config/missing ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 @@ -188,7 +188,8 @@ libbsm \ bin \ man \ - modules + modules \ + sys EXTRA_DIST = \ CHANGELOG \ ==== //depot/projects/trustedbsd/openbsm/bin/Makefile.in#7 (text+ko) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/openbsm/bin/Makefile.in#6 $ +# $P4: //depot/projects/trustedbsd/openbsm/bin/Makefile.in#7 $ # VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ ==== //depot/projects/trustedbsd/openbsm/bin/audit/Makefile.am#4 (text+ko) ==== @@ -1,8 +1,12 @@ # -# $P4: //depot/projects/trustedbsd/openbsm/bin/audit/Makefile.am#3 $ +# $P4: //depot/projects/trustedbsd/openbsm/bin/audit/Makefile.am#4 $ # +if USE_NATIVE_INCLUDES INCLUDES = -I$(top_builddir) -I$(top_srcdir) +else +INCLUDES = -I$(top_builddir) -I$(top_srcdir) -I$(top_srcdir)/sys +endif sbin_PROGRAMS = audit audit_LDADD = $(top_builddir)/libbsm/libbsm.la ==== //depot/projects/trustedbsd/openbsm/bin/audit/Makefile.in#8 (text+ko) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/openbsm/bin/audit/Makefile.in#7 $ +# $P4: //depot/projects/trustedbsd/openbsm/bin/audit/Makefile.in#8 $ # VPATH = @srcdir@ @@ -183,7 +183,8 @@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -INCLUDES = -I$(top_builddir) -I$(top_srcdir) +@USE_NATIVE_INCLUDES_FALSE@INCLUDES = -I$(top_builddir) -I$(top_srcdir) -I$(top_srcdir)/sys +@USE_NATIVE_INCLUDES_TRUE@INCLUDES = -I$(top_builddir) -I$(top_srcdir) audit_LDADD = $(top_builddir)/libbsm/libbsm.la man8_MANS = audit.8 @USE_MACH_IPC_FALSE@audit_SOURCES = audit.c ==== //depot/projects/trustedbsd/openbsm/bin/auditd/Makefile.am#4 (text+ko) ==== @@ -1,8 +1,12 @@ # -# $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/Makefile.am#3 $ +# $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/Makefile.am#4 $ # +if USE_NATIVE_INCLUDES INCLUDES = -I$(top_builddir) -I$(top_srcdir) +else +INCLUDES = -I$(top_builddir) -I$(top_srcdir) -I$(top_srcdir)/sys +endif sbin_PROGRAMS = auditd auditd_LDADD = $(top_builddir)/libbsm/libbsm.la ==== //depot/projects/trustedbsd/openbsm/bin/auditd/Makefile.in#8 (text+ko) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/Makefile.in#7 $ +# $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/Makefile.in#8 $ # VPATH = @srcdir@ @@ -187,7 +187,8 @@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -INCLUDES = -I$(top_builddir) -I$(top_srcdir) +@USE_NATIVE_INCLUDES_FALSE@INCLUDES = -I$(top_builddir) -I$(top_srcdir) -I$(top_srcdir)/sys +@USE_NATIVE_INCLUDES_TRUE@INCLUDES = -I$(top_builddir) -I$(top_srcdir) auditd_LDADD = $(top_builddir)/libbsm/libbsm.la man8_MANS = auditd.8 @USE_MACH_IPC_FALSE@auditd_SOURCES = audit_warn.c auditd.c ==== //depot/projects/trustedbsd/openbsm/bin/auditfilterd/Makefile.am#3 (text+ko) ==== @@ -1,8 +1,12 @@ # -# $P4: //depot/projects/trustedbsd/openbsm/bin/auditfilterd/Makefile.am#2 $ +# $P4: //depot/projects/trustedbsd/openbsm/bin/auditfilterd/Makefile.am#3 $ # +if USE_NATIVE_INCLUDES INCLUDES = -I$(top_builddir) -I$(top_srcdir) +else +INCLUDES = -I$(top_builddir) -I$(top_srcdir) -I$(top_srcdir)/sys +endif sbin_PROGRAMS = auditfilterd auditfilterd_SOURCES = auditfilterd_conf.c auditfilterd.c ==== //depot/projects/trustedbsd/openbsm/bin/auditfilterd/Makefile.in#5 (text+ko) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/openbsm/bin/auditfilterd/Makefile.in#4 $ +# $P4: //depot/projects/trustedbsd/openbsm/bin/auditfilterd/Makefile.in#5 $ # VPATH = @srcdir@ @@ -181,7 +181,8 @@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -INCLUDES = -I$(top_builddir) -I$(top_srcdir) +@USE_NATIVE_INCLUDES_FALSE@INCLUDES = -I$(top_builddir) -I$(top_srcdir) -I$(top_srcdir)/sys +@USE_NATIVE_INCLUDES_TRUE@INCLUDES = -I$(top_builddir) -I$(top_srcdir) auditfilterd_SOURCES = auditfilterd_conf.c auditfilterd.c auditfilterd_LDADD = $(top_builddir)/libbsm/libbsm.la man8_MANS = auditfilterd.8 ==== //depot/projects/trustedbsd/openbsm/bin/auditreduce/Makefile.am#3 (text+ko) ==== @@ -1,8 +1,12 @@ # -# $P4: //depot/projects/trustedbsd/openbsm/bin/auditreduce/Makefile.am#2 $ +# $P4: //depot/projects/trustedbsd/openbsm/bin/auditreduce/Makefile.am#3 $ # +if USE_NATIVE_INCLUDES INCLUDES = -I$(top_builddir) -I$(top_srcdir) +else +INCLUDES = -I$(top_builddir) -I$(top_srcdir) -I$(top_srcdir)/sys +endif sbin_PROGRAMS = auditreduce auditreduce_SOURCES = auditreduce.c ==== //depot/projects/trustedbsd/openbsm/bin/auditreduce/Makefile.in#7 (text+ko) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/openbsm/bin/auditreduce/Makefile.in#6 $ +# $P4: //depot/projects/trustedbsd/openbsm/bin/auditreduce/Makefile.in#7 $ # VPATH = @srcdir@ @@ -180,7 +180,8 @@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -INCLUDES = -I$(top_builddir) -I$(top_srcdir) +@USE_NATIVE_INCLUDES_FALSE@INCLUDES = -I$(top_builddir) -I$(top_srcdir) -I$(top_srcdir)/sys +@USE_NATIVE_INCLUDES_TRUE@INCLUDES = -I$(top_builddir) -I$(top_srcdir) auditreduce_SOURCES = auditreduce.c auditreduce_LDADD = $(top_builddir)/libbsm/libbsm.la man1_MANS = auditreduce.1 ==== //depot/projects/trustedbsd/openbsm/bin/praudit/Makefile.am#3 (text+ko) ==== @@ -1,8 +1,12 @@ # -# $P4: //depot/projects/trustedbsd/openbsm/bin/praudit/Makefile.am#2 $ +# $P4: //depot/projects/trustedbsd/openbsm/bin/praudit/Makefile.am#3 $ # +if USE_NATIVE_INCLUDES INCLUDES = -I$(top_builddir) -I$(top_srcdir) +else +INCLUDES = -I$(top_builddir) -I$(top_srcdir) -I$(top_srcdir)/sys +endif sbin_PROGRAMS = praudit praudit_SOURCES = praudit.c ==== //depot/projects/trustedbsd/openbsm/bin/praudit/Makefile.in#7 (text+ko) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/openbsm/bin/praudit/Makefile.in#6 $ +# $P4: //depot/projects/trustedbsd/openbsm/bin/praudit/Makefile.in#7 $ # VPATH = @srcdir@ @@ -180,7 +180,8 @@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -INCLUDES = -I$(top_builddir) -I$(top_srcdir) +@USE_NATIVE_INCLUDES_FALSE@INCLUDES = -I$(top_builddir) -I$(top_srcdir) -I$(top_srcdir)/sys +@USE_NATIVE_INCLUDES_TRUE@INCLUDES = -I$(top_builddir) -I$(top_srcdir) praudit_SOURCES = praudit.c praudit_LDADD = $(top_builddir)/libbsm/libbsm.la man1_MANS = praudit.1 ==== //depot/projects/trustedbsd/openbsm/bsm/Makefile.am#3 (text+ko) ==== @@ -1,15 +1,11 @@ # -# $P4: //depot/projects/trustedbsd/openbsm/bsm/Makefile.am#2 $ +# $P4: //depot/projects/trustedbsd/openbsm/bsm/Makefile.am#3 $ # openbsmdir = $(includedir)/bsm openbsm_HEADERS = \ - audit.h \ audit_filter.h \ - audit_internal.h \ - audit_kevents.h \ - audit_record.h \ audit_uevents.h \ libbsm.h ==== //depot/projects/trustedbsd/openbsm/bsm/Makefile.in#7 (text+ko) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/openbsm/bsm/Makefile.in#6 $ +# $P4: //depot/projects/trustedbsd/openbsm/bsm/Makefile.in#7 $ # VPATH = @srcdir@ @@ -170,11 +170,7 @@ top_srcdir = @top_srcdir@ openbsmdir = $(includedir)/bsm openbsm_HEADERS = \ - audit.h \ audit_filter.h \ - audit_internal.h \ - audit_kevents.h \ - audit_record.h \ audit_uevents.h \ libbsm.h ==== //depot/projects/trustedbsd/openbsm/config/config.h.in#13 (text+ko) ==== @@ -177,6 +177,9 @@ /* Define if uses Mach IPC for Triggers messages */ #undef USE_MACH_IPC +/* Define to use native include files */ +#undef USE_NATIVE_INCLUDES + /* Version number of package */ #undef VERSION ==== //depot/projects/trustedbsd/openbsm/configure#38 (xtext) ==== @@ -812,6 +812,8 @@ MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT +USE_NATIVE_INCLUDES_TRUE +USE_NATIVE_INCLUDES_FALSE MIG CC CFLAGS @@ -1492,6 +1494,8 @@ Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-native-includes Use the system native include files instead of those + included with openbsm. --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-pic try to use only PIC/non-PIC objects [default=use both] @@ -2004,6 +2008,31 @@ +# --with-native-includes forces the use of the system bsm headers. + +# Check whether --with-native-includes was given. +if test "${with_native_includes+set}" = set; then + withval=$with_native_includes; + +cat >>confdefs.h <<\_ACEOF +#define USE_NATIVE_INCLUDES +_ACEOF + +use_native_includes=true + +else + use_native_includes=false +fi + + if $use_native_includes; then + USE_NATIVE_INCLUDES_TRUE= + USE_NATIVE_INCLUDES_FALSE='#' +else + USE_NATIVE_INCLUDES_TRUE='#' + USE_NATIVE_INCLUDES_FALSE= +fi + + for ac_prog in mig do # Extract the first word of "$ac_prog", so it can be a program name with args. @@ -3858,7 +3887,7 @@ ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 3861 "configure"' > conftest.$ac_ext + echo '#line 3890 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -6492,11 +6521,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:6495: $lt_compile\"" >&5) + (eval echo "\"\$as_me:6524: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:6499: \$? = $ac_status" >&5 + echo "$as_me:6528: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -6782,11 +6811,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:6785: $lt_compile\"" >&5) + (eval echo "\"\$as_me:6814: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:6789: \$? = $ac_status" >&5 + echo "$as_me:6818: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -6886,11 +6915,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:6889: $lt_compile\"" >&5) + (eval echo "\"\$as_me:6918: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:6893: \$? = $ac_status" >&5 + echo "$as_me:6922: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -9235,7 +9264,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext < conftest.$ac_ext <&5) + (eval echo "\"\$as_me:11787: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:11762: \$? = $ac_status" >&5 + echo "$as_me:11791: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -11859,11 +11888,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:11862: $lt_compile\"" >&5) + (eval echo "\"\$as_me:11891: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:11866: \$? = $ac_status" >&5 + echo "$as_me:11895: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -13421,11 +13450,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:13424: $lt_compile\"" >&5) + (eval echo "\"\$as_me:13453: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:13428: \$? = $ac_status" >&5 + echo "$as_me:13457: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -13525,11 +13554,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:13528: $lt_compile\"" >&5) + (eval echo "\"\$as_me:13557: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:13532: \$? = $ac_status" >&5 + echo "$as_me:13561: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -15712,11 +15741,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:15715: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15744: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:15719: \$? = $ac_status" >&5 + echo "$as_me:15748: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -16002,11 +16031,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16005: $lt_compile\"" >&5) + (eval echo "\"\$as_me:16034: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:16009: \$? = $ac_status" >&5 + echo "$as_me:16038: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -16106,11 +16135,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16109: $lt_compile\"" >&5) + (eval echo "\"\$as_me:16138: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:16113: \$? = $ac_status" >&5 + echo "$as_me:16142: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -23044,7 +23073,7 @@ fi -ac_config_files="$ac_config_files Makefile bin/Makefile bin/audit/Makefile bin/auditd/Makefile bin/auditfilterd/Makefile bin/auditreduce/Makefile bin/praudit/Makefile bsm/Makefile libbsm/Makefile modules/Makefile modules/auditfilter_noop/Makefile man/Makefile test/Makefile test/bsm/Makefile tools/Makefile" +ac_config_files="$ac_config_files Makefile bin/Makefile bin/audit/Makefile bin/auditd/Makefile bin/auditfilterd/Makefile bin/auditreduce/Makefile bin/praudit/Makefile bsm/Makefile libbsm/Makefile modules/Makefile modules/auditfilter_noop/Makefile man/Makefile sys/Makefile sys/bsm/Makefile test/Makefile test/bsm/Makefile tools/Makefile" cat >confcache <<\_ACEOF @@ -23150,6 +23179,13 @@ Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi +if test -z "${USE_NATIVE_INCLUDES_TRUE}" && test -z "${USE_NATIVE_INCLUDES_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"USE_NATIVE_INCLUDES\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"USE_NATIVE_INCLUDES\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&5 @@ -23666,6 +23702,8 @@ "modules/Makefile") CONFIG_FILES="$CONFIG_FILES modules/Makefile" ;; "modules/auditfilter_noop/Makefile") CONFIG_FILES="$CONFIG_FILES modules/auditfilter_noop/Makefile" ;; "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;; + "sys/Makefile") CONFIG_FILES="$CONFIG_FILES sys/Makefile" ;; + "sys/bsm/Makefile") CONFIG_FILES="$CONFIG_FILES sys/bsm/Makefile" ;; "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;; "test/bsm/Makefile") CONFIG_FILES="$CONFIG_FILES test/bsm/Makefile" ;; "tools/Makefile") CONFIG_FILES="$CONFIG_FILES tools/Makefile" ;; @@ -23771,6 +23809,8 @@ MAINTAINER_MODE_TRUE!$MAINTAINER_MODE_TRUE$ac_delim MAINTAINER_MODE_FALSE!$MAINTAINER_MODE_FALSE$ac_delim MAINT!$MAINT$ac_delim +USE_NATIVE_INCLUDES_TRUE!$USE_NATIVE_INCLUDES_TRUE$ac_delim +USE_NATIVE_INCLUDES_FALSE!$USE_NATIVE_INCLUDES_FALSE$ac_delim MIG!$MIG$ac_delim CC!$CC$ac_delim CFLAGS!$CFLAGS$ac_delim @@ -23826,8 +23866,6 @@ am__tar!$am__tar$ac_delim am__untar!$am__untar$ac_delim DEPDIR!$DEPDIR$ac_delim -am__include!$am__include$ac_delim -am__quote!$am__quote$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then @@ -23869,6 +23907,8 @@ ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF +am__include!$am__include$ac_delim +am__quote!$am__quote$ac_delim AMDEP_TRUE!$AMDEP_TRUE$ac_delim AMDEP_FALSE!$AMDEP_FALSE$ac_delim AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim @@ -23886,7 +23926,7 @@ LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 15; then + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 17; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 ==== //depot/projects/trustedbsd/openbsm/configure.ac#40 (text+ko) ==== @@ -3,12 +3,23 @@ AC_PREREQ(2.59) AC_INIT([OpenBSM], [1.1alpha1], [trustedbsd-audit@TrustesdBSD.org],[openbsm]) -AC_REVISION([$P4: //depot/projects/trustedbsd/openbsm/configure.ac#39 $]) +AC_REVISION([$P4: //depot/projects/trustedbsd/openbsm/configure.ac#40 $]) AC_CONFIG_SRCDIR([bin/auditreduce/auditreduce.c]) AC_CONFIG_AUX_DIR(config) AC_CONFIG_HEADER([config/config.h]) AM_MAINTAINER_MODE +# --with-native-includes forces the use of the system bsm headers. +AC_ARG_WITH([native-includes], +[AS_HELP_STRING([--with-native-includes], +[Use the system native include files instead of those included with openbsm.])], +[ +AC_DEFINE(USE_NATIVE_INCLUDES,, Define to use native include files) +use_native_includes=true +], +[use_native_includes=false]) +AM_CONDITIONAL(USE_NATIVE_INCLUDES, $use_native_includes) + AC_PATH_PROGS(MIG, mig) # Checks for programs. @@ -132,6 +143,8 @@ modules/Makefile modules/auditfilter_noop/Makefile man/Makefile + sys/Makefile + sys/bsm/Makefile test/Makefile test/bsm/Makefile tools/Makefile]) ==== //depot/projects/trustedbsd/openbsm/libbsm/Makefile.am#5 (text+ko) ==== @@ -1,8 +1,12 @@ # -# $P4: //depot/projects/trustedbsd/openbsm/libbsm/Makefile.am#4 $ +# $P4: //depot/projects/trustedbsd/openbsm/libbsm/Makefile.am#5 $ # +if USE_NATIVE_INCLUDES INCLUDES = -I$(top_builddir) -I$(top_srcdir) +else +INCLUDES = -I$(top_builddir) -I$(top_srcdir) -I$(top_srcdir)/sys +endif lib_LTLIBRARIES = libbsm.la ==== //depot/projects/trustedbsd/openbsm/libbsm/Makefile.in#8 (text+ko) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/openbsm/libbsm/Makefile.in#7 $ +# $P4: //depot/projects/trustedbsd/openbsm/libbsm/Makefile.in#8 $ # VPATH = @srcdir@ @@ -196,7 +196,8 @@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -INCLUDES = -I$(top_builddir) -I$(top_srcdir) +@USE_NATIVE_INCLUDES_FALSE@INCLUDES = -I$(top_builddir) -I$(top_srcdir) -I$(top_srcdir)/sys +@USE_NATIVE_INCLUDES_TRUE@INCLUDES = -I$(top_builddir) -I$(top_srcdir) lib_LTLIBRARIES = libbsm.la libbsm_la_SOURCES = bsm_audit.c bsm_class.c bsm_control.c bsm_event.c \ bsm_flags.c bsm_io.c bsm_mask.c bsm_token.c bsm_user.c \ ==== //depot/projects/trustedbsd/openbsm/man/Makefile.in#6 (text+ko) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/openbsm/man/Makefile.in#5 $ +# $P4: //depot/projects/trustedbsd/openbsm/man/Makefile.in#6 $ # VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ ==== //depot/projects/trustedbsd/openbsm/modules/Makefile.in#4 (text+ko) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/openbsm/modules/Makefile.in#3 $ +# $P4: //depot/projects/trustedbsd/openbsm/modules/Makefile.in#4 $ # VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ ==== //depot/projects/trustedbsd/openbsm/modules/auditfilter_noop/Makefile.am#3 (text+ko) ==== @@ -1,8 +1,12 @@ # -# $P4: //depot/projects/trustedbsd/openbsm/modules/auditfilter_noop/Makefile.am#2 $ +# $P4: //depot/projects/trustedbsd/openbsm/modules/auditfilter_noop/Makefile.am#3 $ # +if USE_NATIVE_INCLUDES INCLUDES = -I$(top_builddir) -I$(top_srcdir) +else +INCLUDES = -I$(top_builddir) -I$(top_srcdir) -I$(top_srcdir)/sys +endif lib_LTLIBRARIES = auditfilter_noop.la ==== //depot/projects/trustedbsd/openbsm/modules/auditfilter_noop/Makefile.in#5 (text+ko) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/openbsm/modules/auditfilter_noop/Makefile.in#4 $ +# $P4: //depot/projects/trustedbsd/openbsm/modules/auditfilter_noop/Makefile.in#5 $ # VPATH = @srcdir@ @@ -185,7 +185,8 @@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -INCLUDES = -I$(top_builddir) -I$(top_srcdir) +@USE_NATIVE_INCLUDES_FALSE@INCLUDES = -I$(top_builddir) -I$(top_srcdir) -I$(top_srcdir)/sys +@USE_NATIVE_INCLUDES_TRUE@INCLUDES = -I$(top_builddir) -I$(top_srcdir) lib_LTLIBRARIES = auditfilter_noop.la auditfilter_noop_la_SOURCE = auditfilter_noop.c auditfilter_noop_la_LDFLAGS = -module ==== //depot/projects/trustedbsd/openbsm/test/Makefile.am#2 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $P4: //depot/projects/trustedbsd/openbsm/test/Makefile.am#1 $ +# $P4: //depot/projects/trustedbsd/openbsm/test/Makefile.am#2 $ # SUBDIRS = \ ==== //depot/projects/trustedbsd/openbsm/test/Makefile.in#4 (text+ko) ==== @@ -1,488 +1,6 @@ -# Makefile.in generated by automake 1.10 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - # -# $P4: //depot/projects/trustedbsd/openbsm/test/Makefile.in#3 $ +# $P4: //depot/projects/trustedbsd/openbsm/test/Makefile.in#4 $ # -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = test -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config/config.h -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-dvi-recursive install-exec-recursive \ - install-html-recursive install-info-recursive \ - install-pdf-recursive install-ps-recursive install-recursive \ - installcheck-recursive installdirs-recursive pdf-recursive \ - ps-recursive uninstall-recursive -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = $(SUBDIRS) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MIG = @MIG@ -MKDIR_P = @MKDIR_P@ -OBJEXT = @OBJEXT@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -SUBDIRS = \ + +SUBDIRS = \ bsm - -all: all-recursive - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign test/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Aug 8 05:57:42 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0B5C11065671; Fri, 8 Aug 2008 05:57:42 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C3225106564A for ; Fri, 8 Aug 2008 05:57:41 +0000 (UTC) (envelope-from konrad@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B031E8FC12 for ; Fri, 8 Aug 2008 05:57:41 +0000 (UTC) (envelope-from konrad@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m785vf1T003801 for ; Fri, 8 Aug 2008 05:57:41 GMT (envelope-from konrad@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m785vf96003799 for perforce@freebsd.org; Fri, 8 Aug 2008 05:57:41 GMT (envelope-from konrad@FreeBSD.org) Date: Fri, 8 Aug 2008 05:57:41 GMT Message-Id: <200808080557.m785vf96003799@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to konrad@FreeBSD.org using -f From: Konrad Jankowski To: Perforce Change Reviews Cc: Subject: PERFORCE change 146895 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, 08 Aug 2008 05:57:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=146895 Change 146895 by konrad@vspredator on 2008/08/08 05:56:42 Fix stack overwriting and memory leak problem in Apple's code. Affected files ... .. //depot/projects/soc2008/konrad_collation/libc/gen/arc4random.c#5 integrate .. //depot/projects/soc2008/konrad_collation/libc/gen/getbsize.c#5 integrate .. //depot/projects/soc2008/konrad_collation/libc/rpc/Makefile.inc#5 integrate .. //depot/projects/soc2008/konrad_collation/libc/rpc/Symbol.map#5 integrate .. //depot/projects/soc2008/konrad_collation/libc/rpc/clnt_dg.c#5 integrate .. //depot/projects/soc2008/konrad_collation/libc/rpc/clnt_perror.c#5 integrate .. //depot/projects/soc2008/konrad_collation/libc/rpc/clnt_vc.c#5 integrate .. //depot/projects/soc2008/konrad_collation/libc/rpc/rpcsec_gss_stub.c#1 branch .. //depot/projects/soc2008/konrad_collation/libc/rpc/svc.c#5 integrate .. //depot/projects/soc2008/konrad_collation/libc/rpc/svc_auth.c#5 integrate .. //depot/projects/soc2008/konrad_collation/libc/rpc/svc_dg.c#5 integrate .. //depot/projects/soc2008/konrad_collation/libc/rpc/svc_raw.c#5 integrate .. //depot/projects/soc2008/konrad_collation/libc/rpc/svc_vc.c#5 integrate .. //depot/projects/soc2008/konrad_collation/libc/stdio/vfwprintf.c#5 integrate .. //depot/projects/soc2008/konrad_collation/libc/stdlib/getenv.c#5 integrate .. //depot/projects/soc2008/konrad_collation/libc/string/strxfrm.c#7 edit .. //depot/projects/soc2008/konrad_collation/libc/sys/jail.2#5 integrate .. //depot/projects/soc2008/konrad_collation/libc/sys/socket.2#5 integrate .. //depot/projects/soc2008/konrad_collation/libc/xdr/xdr_rec.c#5 integrate Differences ... ==== //depot/projects/soc2008/konrad_collation/libc/gen/arc4random.c#5 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/gen/arc4random.c,v 1.23 2008/07/25 15:42:22 ache Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/gen/arc4random.c,v 1.24 2008/08/03 20:15:22 ache Exp $"); #include "namespace.h" #include @@ -55,6 +55,7 @@ static pthread_mutex_t arc4random_mtx = PTHREAD_MUTEX_INITIALIZER; #define RANDOMDEV "/dev/urandom" +#define KEYSIZE 128 #define THREAD_LOCK() \ do { \ if (__isthreaded) \ @@ -106,24 +107,27 @@ static void arc4_stir(void) { - int fd, n; + int done, fd, n; struct { - struct timeval tv; - pid_t pid; - u_int8_t rnd[128 - sizeof(struct timeval) - sizeof(pid_t)]; - } rdat; + struct timeval tv; + pid_t pid; + u_int8_t rnd[KEYSIZE]; + } rdat; - gettimeofday(&rdat.tv, NULL); - rdat.pid = getpid(); fd = _open(RANDOMDEV, O_RDONLY, 0); + done = 0; if (fd >= 0) { - (void) _read(fd, rdat.rnd, sizeof(rdat.rnd)); - _close(fd); + if (_read(fd, &rdat, KEYSIZE) == KEYSIZE) + done = 1; + (void)_close(fd); } - /* fd < 0? Ah, what the heck. We'll just take whatever was on the - * stack... */ + if (!done) { + (void)gettimeofday(&rdat.tv, NULL); + rdat.pid = getpid(); + /* We'll just take whatever was on the stack too... */ + } - arc4_addrandom((void *) &rdat, sizeof(rdat)); + arc4_addrandom((u_char *)&rdat, KEYSIZE); /* * Throw away the first N bytes of output, as suggested in the ==== //depot/projects/soc2008/konrad_collation/libc/gen/getbsize.c#5 (text+ko) ==== @@ -31,7 +31,7 @@ static char sccsid[] = "@(#)getbsize.c 8.1 (Berkeley) 6/4/93"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/gen/getbsize.c,v 1.8 2007/01/09 00:27:53 imp Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/gen/getbsize.c,v 1.9 2008/08/04 06:53:13 cperciva Exp $"); #include #include @@ -83,6 +83,7 @@ default: fmterr: warnx("%s: unknown blocksize", p); n = 512; + max = MAXB; mul = 1; break; } ==== //depot/projects/soc2008/konrad_collation/libc/rpc/Makefile.inc#5 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 5.11 (Berkeley) 9/6/90 -# $FreeBSD: src/lib/libc/rpc/Makefile.inc,v 1.28 2006/03/13 01:14:59 deischen Exp $ +# $FreeBSD: src/lib/libc/rpc/Makefile.inc,v 1.29 2008/08/06 14:02:05 dfr Exp $ .PATH: ${.CURDIR}/rpc ${.CURDIR}/. SRCS+= auth_none.c auth_unix.c authunix_prot.c bindresvport.c clnt_bcast.c \ @@ -8,8 +8,9 @@ getrpcport.c mt_misc.c pmap_clnt.c pmap_getmaps.c pmap_getport.c \ pmap_prot.c pmap_prot2.c pmap_rmt.c rpc_prot.c rpc_commondata.c \ rpc_callmsg.c rpc_generic.c rpc_soc.c rpcb_clnt.c rpcb_prot.c \ - rpcb_st_xdr.c svc.c svc_auth.c svc_dg.c svc_auth_unix.c svc_generic.c \ - svc_raw.c svc_run.c svc_simple.c svc_vc.c + rpcb_st_xdr.c rpcsec_gss_stub.c svc.c svc_auth.c svc_dg.c \ + svc_auth_unix.c svc_generic.c svc_raw.c svc_run.c svc_simple.c \ + svc_vc.c # Secure-RPC SRCS+= auth_time.c auth_des.c authdes_prot.c des_crypt.c des_soft.c \ ==== //depot/projects/soc2008/konrad_collation/libc/rpc/Symbol.map#5 (text) ==== @@ -1,5 +1,5 @@ /* - * $FreeBSD: src/lib/libc/rpc/Symbol.map,v 1.3 2007/05/31 13:01:34 deischen Exp $ + * $FreeBSD: src/lib/libc/rpc/Symbol.map,v 1.4 2008/08/06 14:02:05 dfr Exp $ */ FBSD_1.0 { @@ -244,4 +244,8 @@ * Remove this hack if rpcinfo stops building with it. */ __svc_clean_idle; + __rpc_gss_unwrap; + __rpc_gss_unwrap_stub; + __rpc_gss_wrap; + __rpc_gss_wrap_stub; }; ==== //depot/projects/soc2008/konrad_collation/libc/rpc/clnt_dg.c#5 (text+ko) ==== @@ -37,7 +37,7 @@ static char sccsid[] = "@(#)clnt_dg.c 1.19 89/03/16 Copyr 1988 Sun Micro"; #endif #include -__FBSDID("$FreeBSD: src/lib/libc/rpc/clnt_dg.c,v 1.19 2007/03/04 12:25:03 simon Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/rpc/clnt_dg.c,v 1.20 2008/08/06 14:02:05 dfr Exp $"); /* * Implements a connectionless client side RPC. @@ -52,6 +52,7 @@ #include #include #include +#include #include #include #include @@ -113,6 +114,8 @@ /* VARIABLES PROTECTED BY clnt_fd_lock: dg_fd_locks, dg_cv */ +#define MCALL_MSG_SIZE 24 + /* * Private data kept per client handle */ @@ -127,6 +130,7 @@ XDR cu_outxdrs; u_int cu_xdrpos; u_int cu_sendsz; /* send size */ + char cu_outhdr[MCALL_MSG_SIZE]; char *cu_outbuf; u_int cu_recvsz; /* recv size */ int cu_async; @@ -253,13 +257,16 @@ call_msg.rm_xid = __RPC_GETXID(&now); call_msg.rm_call.cb_prog = program; call_msg.rm_call.cb_vers = version; - xdrmem_create(&(cu->cu_outxdrs), cu->cu_outbuf, sendsz, XDR_ENCODE); - if (! xdr_callhdr(&(cu->cu_outxdrs), &call_msg)) { + xdrmem_create(&(cu->cu_outxdrs), cu->cu_outhdr, MCALL_MSG_SIZE, + XDR_ENCODE); + if (! xdr_callhdr(&cu->cu_outxdrs, &call_msg)) { rpc_createerr.cf_stat = RPC_CANTENCODEARGS; /* XXX */ rpc_createerr.cf_error.re_errno = 0; goto err2; } cu->cu_xdrpos = XDR_GETPOS(&(cu->cu_outxdrs)); + XDR_DESTROY(&cu->cu_outxdrs); + xdrmem_create(&cu->cu_outxdrs, cu->cu_outbuf, sendsz, XDR_ENCODE); /* XXX fvdl - do we still want this? */ #if 0 @@ -312,6 +319,7 @@ XDR reply_xdrs; bool_t ok; int nrefreshes = 2; /* number of times to refresh cred */ + int nretries = 0; /* number of times we retransmitted */ struct timeval timeout; struct timeval retransmit_time; struct timeval next_sendtime, starttime, time_waited, tv; @@ -375,25 +383,37 @@ kin_len = 1; call_again: - xdrs = &(cu->cu_outxdrs); - if (cu->cu_async == TRUE && xargs == NULL) - goto get_reply; - xdrs->x_op = XDR_ENCODE; - XDR_SETPOS(xdrs, cu->cu_xdrpos); /* * the transaction is the first thing in the out buffer * XXX Yes, and it's in network byte order, so we should to * be careful when we increment it, shouldn't we. */ - xid = ntohl(*(u_int32_t *)(void *)(cu->cu_outbuf)); + xid = ntohl(*(u_int32_t *)(void *)(cu->cu_outhdr)); xid++; - *(u_int32_t *)(void *)(cu->cu_outbuf) = htonl(xid); + *(u_int32_t *)(void *)(cu->cu_outhdr) = htonl(xid); +call_again_same_xid: + xdrs = &(cu->cu_outxdrs); + if (cu->cu_async == TRUE && xargs == NULL) + goto get_reply; + xdrs->x_op = XDR_ENCODE; + XDR_SETPOS(xdrs, 0); - if ((! XDR_PUTINT32(xdrs, &proc)) || - (! AUTH_MARSHALL(cl->cl_auth, xdrs)) || - (! (*xargs)(xdrs, argsp))) { - cu->cu_error.re_status = RPC_CANTENCODEARGS; - goto out; + if (cl->cl_auth->ah_cred.oa_flavor != RPCSEC_GSS) { + if ((! XDR_PUTBYTES(xdrs, cu->cu_outhdr, cu->cu_xdrpos)) || + (! XDR_PUTINT32(xdrs, &proc)) || + (! AUTH_MARSHALL(cl->cl_auth, xdrs)) || + (! (*xargs)(xdrs, argsp))) { + cu->cu_error.re_status = RPC_CANTENCODEARGS; + goto out; + } + } else { + *(uint32_t *) &cu->cu_outhdr[cu->cu_xdrpos] = htonl(proc); + if (!__rpc_gss_wrap(cl->cl_auth, cu->cu_outhdr, + cu->cu_xdrpos + sizeof(uint32_t), + xdrs, xargs, argsp)) { + cu->cu_error.re_status = RPC_CANTENCODEARGS; + goto out; + } } outlen = (size_t)XDR_GETPOS(xdrs); @@ -420,8 +440,13 @@ * (We assume that this is actually only executed once.) */ reply_msg.acpted_rply.ar_verf = _null_auth; - reply_msg.acpted_rply.ar_results.where = resultsp; - reply_msg.acpted_rply.ar_results.proc = xresults; + if (cl->cl_auth->ah_cred.oa_flavor != RPCSEC_GSS) { + reply_msg.acpted_rply.ar_results.where = resultsp; + reply_msg.acpted_rply.ar_results.proc = xresults; + } else { + reply_msg.acpted_rply.ar_results.where = NULL; + reply_msg.acpted_rply.ar_results.proc = (xdrproc_t)xdr_void; + } for (;;) { /* Decide how long to wait. */ @@ -483,7 +508,17 @@ &retransmit_time); timeradd(&next_sendtime, &retransmit_time, &next_sendtime); - goto send_again; + nretries++; + + /* + * When retransmitting a RPCSEC_GSS message, + * we must use a new sequence number (handled + * by __rpc_gss_wrap above). + */ + if (cl->cl_auth->ah_cred.oa_flavor != RPCSEC_GSS) + goto send_again; + else + goto call_again_same_xid; } } inlen = (socklen_t)recvlen; @@ -505,8 +540,37 @@ if (cu->cu_error.re_status == RPC_SUCCESS) { if (! AUTH_VALIDATE(cl->cl_auth, &reply_msg.acpted_rply.ar_verf)) { + if (nretries && + cl->cl_auth->ah_cred.oa_flavor + == RPCSEC_GSS) + /* + * If we retransmitted, its + * possible that we will + * receive a reply for one of + * the earlier transmissions + * (which will use an older + * RPCSEC_GSS sequence + * number). In this case, just + * go back and listen for a + * new reply. We could keep a + * record of all the seq + * numbers we have transmitted + * so far so that we could + * accept a reply for any of + * them here. + */ + goto get_reply; cu->cu_error.re_status = RPC_AUTHERROR; cu->cu_error.re_why = AUTH_INVALIDRESP; + } else { + if (cl->cl_auth->ah_cred.oa_flavor + == RPCSEC_GSS) { + if (!__rpc_gss_unwrap(cl->cl_auth, + &reply_xdrs, xresults, + resultsp)) + cu->cu_error.re_status = + RPC_CANTDECODERES; + } } if (reply_msg.acpted_rply.ar_verf.oa_base != NULL) { xdrs->x_op = XDR_FREE; @@ -670,12 +734,12 @@ * This will get the xid of the PREVIOUS call */ *(u_int32_t *)info = - ntohl(*(u_int32_t *)(void *)cu->cu_outbuf); + ntohl(*(u_int32_t *)(void *)cu->cu_outhdr); break; case CLSET_XID: /* This will set the xid of the NEXT call */ - *(u_int32_t *)(void *)cu->cu_outbuf = + *(u_int32_t *)(void *)cu->cu_outhdr = htonl(*(u_int32_t *)info - 1); /* decrement by 1 as clnt_dg_call() increments once */ break; @@ -688,12 +752,12 @@ * call_struct is changed */ *(u_int32_t *)info = - ntohl(*(u_int32_t *)(void *)(cu->cu_outbuf + + ntohl(*(u_int32_t *)(void *)(cu->cu_outhdr + 4 * BYTES_PER_XDR_UNIT)); break; case CLSET_VERS: - *(u_int32_t *)(void *)(cu->cu_outbuf + 4 * BYTES_PER_XDR_UNIT) + *(u_int32_t *)(void *)(cu->cu_outhdr + 4 * BYTES_PER_XDR_UNIT) = htonl(*(u_int32_t *)info); break; @@ -705,12 +769,12 @@ * call_struct is changed */ *(u_int32_t *)info = - ntohl(*(u_int32_t *)(void *)(cu->cu_outbuf + + ntohl(*(u_int32_t *)(void *)(cu->cu_outhdr + 3 * BYTES_PER_XDR_UNIT)); break; case CLSET_PROG: - *(u_int32_t *)(void *)(cu->cu_outbuf + 3 * BYTES_PER_XDR_UNIT) + *(u_int32_t *)(void *)(cu->cu_outhdr + 3 * BYTES_PER_XDR_UNIT) = htonl(*(u_int32_t *)info); break; case CLSET_ASYNC: ==== //depot/projects/soc2008/konrad_collation/libc/rpc/clnt_perror.c#5 (text+ko) ==== @@ -35,7 +35,7 @@ static char *sccsid = "@(#)clnt_perror.c 2.1 88/07/29 4.0 RPCSRC"; #endif #include -__FBSDID("$FreeBSD: src/lib/libc/rpc/clnt_perror.c,v 1.17 2004/10/16 06:11:34 obrien Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/rpc/clnt_perror.c,v 1.18 2008/08/06 14:02:05 dfr Exp $"); /* * clnt_perror.c @@ -309,7 +309,14 @@ "Server rejected verifier", /* 4 - AUTH_REJECTEDVERF */ "Client credential too weak", /* 5 - AUTH_TOOWEAK */ "Invalid server verifier", /* 6 - AUTH_INVALIDRESP */ - "Failed (unspecified error)" /* 7 - AUTH_FAILED */ + "Failed (unspecified error)", /* 7 - AUTH_FAILED */ + "Kerberos generic error", /* 8 - AUTH_KERB_GENERIC*/ + "Kerberos credential expired", /* 9 - AUTH_TIMEEXPIRE */ + "Bad kerberos ticket file", /* 10 - AUTH_TKT_FILE */ + "Can't decode kerberos authenticator", /* 11 - AUTH_DECODE */ + "Address wrong in kerberos ticket", /* 12 - AUTH_NET_ADDR */ + "GSS-API crediential problem", /* 13 - RPCSEC_GSS_CREDPROBLEM */ + "GSS-API context problem" /* 14 - RPCSEC_GSS_CTXPROBLEM */ }; static char * ==== //depot/projects/soc2008/konrad_collation/libc/rpc/clnt_vc.c#5 (text+ko) ==== @@ -35,7 +35,7 @@ static char sccsid3[] = "@(#)clnt_vc.c 1.19 89/03/16 Copyr 1988 Sun Micro"; #endif #include -__FBSDID("$FreeBSD: src/lib/libc/rpc/clnt_vc.c,v 1.20 2006/09/09 22:18:57 mbr Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/rpc/clnt_vc.c,v 1.21 2008/08/06 14:02:05 dfr Exp $"); /* * clnt_tcp.c, Implements a TCP/IP based, client side RPC. @@ -77,6 +77,7 @@ #include #include +#include #include "un-namespace.h" #include "rpc_com.h" #include "mt_misc.h" @@ -285,6 +286,7 @@ } ct->ct_mpos = XDR_GETPOS(&(ct->ct_xdrs)); XDR_DESTROY(&(ct->ct_xdrs)); + assert(ct->ct_mpos + sizeof(uint32_t) <= MCALL_MSG_SIZE); /* * Create a client handle which uses xdrrec for serialization @@ -331,6 +333,7 @@ int refreshes = 2; sigset_t mask, newmask; int rpc_lock_value; + bool_t reply_stat; assert(cl != NULL); @@ -360,15 +363,28 @@ ct->ct_error.re_status = RPC_SUCCESS; x_id = ntohl(--(*msg_x_id)); - if ((! XDR_PUTBYTES(xdrs, ct->ct_u.ct_mcallc, ct->ct_mpos)) || - (! XDR_PUTINT32(xdrs, &proc)) || - (! AUTH_MARSHALL(cl->cl_auth, xdrs)) || - (! (*xdr_args)(xdrs, args_ptr))) { - if (ct->ct_error.re_status == RPC_SUCCESS) - ct->ct_error.re_status = RPC_CANTENCODEARGS; - (void)xdrrec_endofrecord(xdrs, TRUE); - release_fd_lock(ct->ct_fd, mask); - return (ct->ct_error.re_status); + if (cl->cl_auth->ah_cred.oa_flavor != RPCSEC_GSS) { + if ((! XDR_PUTBYTES(xdrs, ct->ct_u.ct_mcallc, ct->ct_mpos)) || + (! XDR_PUTINT32(xdrs, &proc)) || + (! AUTH_MARSHALL(cl->cl_auth, xdrs)) || + (! (*xdr_args)(xdrs, args_ptr))) { + if (ct->ct_error.re_status == RPC_SUCCESS) + ct->ct_error.re_status = RPC_CANTENCODEARGS; + (void)xdrrec_endofrecord(xdrs, TRUE); + release_fd_lock(ct->ct_fd, mask); + return (ct->ct_error.re_status); + } + } else { + *(uint32_t *) &ct->ct_u.ct_mcallc[ct->ct_mpos] = htonl(proc); + if (! __rpc_gss_wrap(cl->cl_auth, ct->ct_u.ct_mcallc, + ct->ct_mpos + sizeof(uint32_t), + xdrs, xdr_args, args_ptr)) { + if (ct->ct_error.re_status == RPC_SUCCESS) + ct->ct_error.re_status = RPC_CANTENCODEARGS; + (void)xdrrec_endofrecord(xdrs, TRUE); + release_fd_lock(ct->ct_fd, mask); + return (ct->ct_error.re_status); + } } if (! xdrrec_endofrecord(xdrs, shipnow)) { release_fd_lock(ct->ct_fd, mask); @@ -419,9 +435,18 @@ &reply_msg.acpted_rply.ar_verf)) { ct->ct_error.re_status = RPC_AUTHERROR; ct->ct_error.re_why = AUTH_INVALIDRESP; - } else if (! (*xdr_results)(xdrs, results_ptr)) { - if (ct->ct_error.re_status == RPC_SUCCESS) - ct->ct_error.re_status = RPC_CANTDECODERES; + } else { + if (cl->cl_auth->ah_cred.oa_flavor != RPCSEC_GSS) { + reply_stat = (*xdr_results)(xdrs, results_ptr); + } else { + reply_stat = __rpc_gss_unwrap(cl->cl_auth, + xdrs, xdr_results, results_ptr); + } + if (! reply_stat) { + if (ct->ct_error.re_status == RPC_SUCCESS) + ct->ct_error.re_status = + RPC_CANTDECODERES; + } } /* free verifier ... */ if (reply_msg.acpted_rply.ar_verf.oa_base != NULL) { ==== //depot/projects/soc2008/konrad_collation/libc/rpc/svc.c#5 (text+ko) ==== @@ -34,7 +34,7 @@ static char *sccsid = "@(#)svc.c 2.4 88/08/11 4.0 RPCSRC"; #endif #include -__FBSDID("$FreeBSD: src/lib/libc/rpc/svc.c,v 1.24 2006/02/27 22:10:59 deischen Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/rpc/svc.c,v 1.25 2008/08/06 14:02:05 dfr Exp $"); /* * svc.c, Server-side remote procedure call interface. @@ -67,7 +67,7 @@ #define RQCRED_SIZE 400 /* this size is excessive */ #define SVC_VERSQUIET 0x0001 /* keep quiet about vers mismatch */ -#define version_keepquiet(xp) ((u_long)(xp)->xp_p3 & SVC_VERSQUIET) +#define version_keepquiet(xp) (SVC_EXT(xp)->xp_flags & SVC_VERSQUIET) #define max(a, b) (a > b ? a : b) @@ -452,20 +452,16 @@ __svc_versquiet_on(xprt) SVCXPRT *xprt; { - u_long tmp; - tmp = ((u_long) xprt->xp_p3) | SVC_VERSQUIET; - xprt->xp_p3 = tmp; + SVC_EXT(xprt)->xp_flags |= SVC_VERSQUIET; } void __svc_versquiet_off(xprt) SVCXPRT *xprt; { - u_long tmp; - tmp = ((u_long) xprt->xp_p3) & ~SVC_VERSQUIET; - xprt->xp_p3 = tmp; + SVC_EXT(xprt)->xp_flags &= ~SVC_VERSQUIET; } void @@ -479,7 +475,8 @@ __svc_versquiet_get(xprt) SVCXPRT *xprt; { - return ((int) xprt->xp_p3) & SVC_VERSQUIET; + + return (SVC_EXT(xprt)->xp_flags & SVC_VERSQUIET); } #endif @@ -555,6 +552,39 @@ SVC_REPLY(xprt, &rply); } +/* + * Allocate a new server transport structure. All fields are + * initialized to zero and xp_p3 is initialized to point at an + * extension structure to hold various flags and authentication + * parameters. + */ +SVCXPRT * +svc_xprt_alloc() +{ + SVCXPRT *xprt; + SVCXPRT_EXT *ext; + + xprt = mem_alloc(sizeof(SVCXPRT)); + memset(xprt, 0, sizeof(SVCXPRT)); + ext = mem_alloc(sizeof(SVCXPRT_EXT)); + memset(ext, 0, sizeof(SVCXPRT_EXT)); + xprt->xp_p3 = ext; + + return (xprt); +} + +/* + * Free a server transport structure. + */ +void +svc_xprt_free(xprt) + SVCXPRT *xprt; +{ + + mem_free(xprt->xp_p3, sizeof(SVCXPRT_EXT)); + mem_free(xprt, sizeof(SVCXPRT)); +} + /* ******************* SERVER INPUT STUFF ******************* */ /* @@ -643,7 +673,15 @@ r.rq_cred = msg.rm_call.cb_cred; /* first authenticate the message */ if ((why = _authenticate(&r, &msg)) != AUTH_OK) { - svcerr_auth(xprt, why); + /* + * RPCSEC_GSS uses this return code + * for requests that form part of its + * context establishment protocol and + * should not be dispatched to the + * application. + */ + if (why != RPCSEC_GSS_NODISPATCH) + svcerr_auth(xprt, why); goto call_done; } /* now match message with a registered service*/ @@ -670,7 +708,7 @@ if (prog_found) svcerr_progvers(xprt, low_vers, high_vers); else - svcerr_noprog(xprt); + svcerr_noprog(xprt); /* Fall through to ... */ } /* ==== //depot/projects/soc2008/konrad_collation/libc/rpc/svc_auth.c#5 (text+ko) ==== @@ -37,7 +37,7 @@ static char sccsid[] = "@(#)svc_auth.c 1.26 89/02/07 Copyr 1984 Sun Micro"; #endif #include -__FBSDID("$FreeBSD: src/lib/libc/rpc/svc_auth.c,v 1.13 2006/02/27 22:10:59 deischen Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/rpc/svc_auth.c,v 1.14 2008/08/06 14:02:05 dfr Exp $"); /* * svc_auth.c, Server-side rpc authenticator interface. @@ -75,6 +75,8 @@ }; static struct authsvc *Auths = NULL; +static struct svc_auth_ops svc_auth_null_ops; + /* * The call rpc message, msg has been obtained from the wire. The msg contains * the raw form of credentials and verifiers. authenticate returns AUTH_OK @@ -105,6 +107,8 @@ /* VARIABLES PROTECTED BY authsvc_lock: asp, Auths */ rqst->rq_cred = msg->rm_call.cb_cred; + SVC_AUTH(rqst->rq_xprt).svc_ah_ops = &svc_auth_null_ops; + SVC_AUTH(rqst->rq_xprt).svc_ah_private = NULL; rqst->rq_xprt->xp_verf.oa_flavor = _null_auth.oa_flavor; rqst->rq_xprt->xp_verf.oa_length = 0; cred_flavor = rqst->rq_cred.oa_flavor; @@ -143,6 +147,26 @@ return (AUTH_REJECTEDCRED); } +/* + * A set of null auth methods used by any authentication protocols + * that don't need to inspect or modify the message body. + */ +static bool_t +svcauth_null_wrap(auth, xdrs, xdr_func, xdr_ptr) + SVCAUTH *auth; + XDR *xdrs; + xdrproc_t xdr_func; + caddr_t xdr_ptr; +{ + + return (xdr_func(xdrs, xdr_ptr)); +} + +static struct svc_auth_ops svc_auth_null_ops = { + svcauth_null_wrap, + svcauth_null_wrap, +}; + /*ARGSUSED*/ enum auth_stat _svcauth_null(rqst, msg) ==== //depot/projects/soc2008/konrad_collation/libc/rpc/svc_dg.c#5 (text+ko) ==== @@ -37,7 +37,7 @@ #ident "@(#)svc_dg.c 1.17 94/04/24 SMI" #endif #include -__FBSDID("$FreeBSD: src/lib/libc/rpc/svc_dg.c,v 1.8 2006/02/27 22:10:59 deischen Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/rpc/svc_dg.c,v 1.9 2008/08/06 14:02:05 dfr Exp $"); /* * svc_dg.c, Server side for connectionless RPC. @@ -51,6 +51,7 @@ #include #include #include +#include #include #include #include @@ -125,10 +126,9 @@ return (NULL); } - xprt = mem_alloc(sizeof (SVCXPRT)); + xprt = svc_xprt_alloc(); if (xprt == NULL) goto freedata; - memset(xprt, 0, sizeof (SVCXPRT)); su = mem_alloc(sizeof (*su)); if (su == NULL) @@ -160,7 +160,7 @@ if (xprt) { if (su) (void) mem_free(su, sizeof (*su)); - (void) mem_free(xprt, sizeof (SVCXPRT)); + svc_xprt_free(xprt); } return (NULL); } @@ -230,13 +230,28 @@ { struct svc_dg_data *su = su_data(xprt); XDR *xdrs = &(su->su_xdrs); - bool_t stat = FALSE; + bool_t stat = TRUE; size_t slen; + xdrproc_t xdr_proc; + caddr_t xdr_where; xdrs->x_op = XDR_ENCODE; XDR_SETPOS(xdrs, 0); msg->rm_xid = su->su_xid; - if (xdr_replymsg(xdrs, msg)) { + if (msg->rm_reply.rp_stat == MSG_ACCEPTED && + msg->rm_reply.rp_acpt.ar_stat == SUCCESS) { + xdr_proc = msg->acpted_rply.ar_results.proc; + xdr_where = msg->acpted_rply.ar_results.where; + msg->acpted_rply.ar_results.proc = (xdrproc_t) xdr_void; + msg->acpted_rply.ar_results.where = NULL; + + if (!xdr_replymsg(xdrs, msg) || + !SVCAUTH_WRAP(&SVC_AUTH(xprt), xdrs, xdr_proc, xdr_where)) + stat = FALSE; + } else { + stat = xdr_replymsg(xdrs, msg); + } + if (stat) { slen = XDR_GETPOS(xdrs); if (_sendto(xprt->xp_fd, rpc_buffer(xprt), slen, 0, (struct sockaddr *)xprt->xp_rtaddr.buf, @@ -255,7 +270,12 @@ xdrproc_t xdr_args; void *args_ptr; { - return (*xdr_args)(&(su_data(xprt)->su_xdrs), args_ptr); + struct svc_dg_data *su; + + assert(xprt != NULL); + su = su_data(xprt); + return (SVCAUTH_UNWRAP(&SVC_AUTH(xprt), + &su->su_xdrs, xdr_args, args_ptr)); } static bool_t @@ -288,7 +308,7 @@ (void) mem_free(xprt->xp_ltaddr.buf, xprt->xp_ltaddr.maxlen); if (xprt->xp_tp) (void) free(xprt->xp_tp); - (void) mem_free(xprt, sizeof (SVCXPRT)); + svc_xprt_free(xprt); } static bool_t ==== //depot/projects/soc2008/konrad_collation/libc/rpc/svc_raw.c#5 (text+ko) ==== @@ -38,7 +38,7 @@ static char sccsid[] = "@(#)svc_raw.c 1.25 89/01/31 Copyr 1984 Sun Micro"; #endif #include -__FBSDID("$FreeBSD: src/lib/libc/rpc/svc_raw.c,v 1.15 2006/02/27 22:10:59 deischen Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/rpc/svc_raw.c,v 1.16 2008/08/06 14:02:05 dfr Exp $"); /* * svc_raw.c, This a toy for simple testing and timing. @@ -66,7 +66,7 @@ */ static struct svc_raw_private { char *raw_buf; /* should be shared with the cl handle */ - SVCXPRT server; + SVCXPRT *server; XDR xdr_stream; char verf_body[MAX_AUTH_BYTES]; } *svc_raw_private; @@ -99,17 +99,17 @@ if (__rpc_rawcombuf == NULL) __rpc_rawcombuf = calloc(UDPMSGSIZE, sizeof (char)); srp->raw_buf = __rpc_rawcombuf; /* Share it with the client */ + srp->server = svc_xprt_alloc(); svc_raw_private = srp; } - srp->server.xp_fd = FD_SETSIZE; - srp->server.xp_port = 0; - srp->server.xp_p3 = NULL; - svc_raw_ops(&srp->server); - srp->server.xp_verf.oa_base = srp->verf_body; + srp->server->xp_fd = FD_SETSIZE; + srp->server->xp_port = 0; + svc_raw_ops(srp->server); + srp->server->xp_verf.oa_base = srp->verf_body; xdrmem_create(&srp->xdr_stream, srp->raw_buf, UDPMSGSIZE, XDR_DECODE); - xprt_register(&srp->server); + xprt_register(srp->server); mutex_unlock(&svcraw_lock); - return (&srp->server); + return (srp->server); } /*ARGSUSED*/ @@ -154,6 +154,9 @@ { struct svc_raw_private *srp; XDR *xdrs; + bool_t stat; + xdrproc_t xdr_proc; + caddr_t xdr_where; mutex_lock(&svcraw_lock); srp = svc_raw_private; @@ -166,7 +169,20 @@ xdrs = &srp->xdr_stream; xdrs->x_op = XDR_ENCODE; (void) XDR_SETPOS(xdrs, 0); - if (! xdr_replymsg(xdrs, msg)) { + if (msg->rm_reply.rp_stat == MSG_ACCEPTED && + msg->rm_reply.rp_acpt.ar_stat == SUCCESS) { + xdr_proc = msg->acpted_rply.ar_results.proc; + xdr_where = msg->acpted_rply.ar_results.where; + msg->acpted_rply.ar_results.proc = (xdrproc_t) xdr_void; + msg->acpted_rply.ar_results.where = NULL; + + if (!xdr_replymsg(xdrs, msg) || + !SVCAUTH_WRAP(&SVC_AUTH(xprt), xdrs, xdr_proc, xdr_where)) + stat = FALSE; + } else { + stat = xdr_replymsg(xdrs, msg); + } + if (!stat) { return (FALSE); } (void) XDR_GETPOS(xdrs); /* called just for overhead */ @@ -189,7 +205,9 @@ return (FALSE); } mutex_unlock(&svcraw_lock); - return (*xdr_args)(&srp->xdr_stream, args_ptr); + + return (SVCAUTH_UNWRAP(&SVC_AUTH(xprt), &srp->xdr_stream, + xdr_args, args_ptr)); } /*ARGSUSED*/ ==== //depot/projects/soc2008/konrad_collation/libc/rpc/svc_vc.c#5 (text+ko) ==== @@ -34,7 +34,7 @@ static char *sccsid = "@(#)svc_tcp.c 2.2 88/08/01 4.0 RPCSRC"; #endif #include -__FBSDID("$FreeBSD: src/lib/libc/rpc/svc_vc.c,v 1.27 2008/03/30 09:36:17 dfr Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/rpc/svc_vc.c,v 1.28 2008/08/06 14:02:05 dfr Exp $"); /* * svc_vc.c, Server side for Connection Oriented based RPC. @@ -146,15 +146,12 @@ r->sendsize = __rpc_get_t_size(si.si_af, si.si_proto, (int)sendsize); r->recvsize = __rpc_get_t_size(si.si_af, si.si_proto, (int)recvsize); r->maxrec = __svc_maxrec; - xprt = mem_alloc(sizeof(SVCXPRT)); + xprt = svc_xprt_alloc(); if (xprt == NULL) { warnx("svc_vc_create: out of memory"); goto cleanup_svc_vc_create; } - xprt->xp_tp = NULL; xprt->xp_p1 = r; - xprt->xp_p2 = NULL; - xprt->xp_p3 = NULL; xprt->xp_verf = _null_auth; svc_vc_rendezvous_ops(xprt); xprt->xp_port = (u_short)-1; /* It is the rendezvouser */ @@ -259,16 +256,15 @@ assert(fd != -1); - xprt = mem_alloc(sizeof(SVCXPRT)); + xprt = svc_xprt_alloc(); if (xprt == NULL) { warnx("svc_vc: makefd_xprt: out of memory"); goto done; } - memset(xprt, 0, sizeof *xprt); cd = mem_alloc(sizeof(struct cf_conn)); if (cd == NULL) { warnx("svc_tcp: makefd_xprt: out of memory"); - mem_free(xprt, sizeof(SVCXPRT)); + svc_xprt_free(xprt); xprt = NULL; goto done; } @@ -417,7 +413,7 @@ free(xprt->xp_tp); if (xprt->xp_netid) free(xprt->xp_netid); - mem_free(xprt, sizeof(SVCXPRT)); + svc_xprt_free(xprt); } /*ARGSUSED*/ @@ -623,11 +619,12 @@ xdrproc_t xdr_args; void *args_ptr; { + struct cf_conn *cd; assert(xprt != NULL); - /* args_ptr may be NULL */ - return ((*xdr_args)(&(((struct cf_conn *)(xprt->xp_p1))->xdrs), - args_ptr)); + cd = (struct cf_conn *)(xprt->xp_p1); + return (SVCAUTH_UNWRAP(&SVC_AUTH(xprt), + &cd->xdrs, xdr_args, args_ptr)); } static bool_t @@ -655,6 +652,9 @@ struct cf_conn *cd; XDR *xdrs; bool_t rstat; + xdrproc_t xdr_proc; + caddr_t xdr_where; + u_int pos; assert(xprt != NULL); assert(msg != NULL); @@ -664,8 +664,27 @@ xdrs->x_op = XDR_ENCODE; msg->rm_xid = cd->x_id; - rstat = xdr_replymsg(xdrs, msg); - (void)xdrrec_endofrecord(xdrs, TRUE); + rstat = TRUE; + if (msg->rm_reply.rp_stat == MSG_ACCEPTED && + msg->rm_reply.rp_acpt.ar_stat == SUCCESS) { + xdr_proc = msg->acpted_rply.ar_results.proc; + xdr_where = msg->acpted_rply.ar_results.where; + msg->acpted_rply.ar_results.proc = (xdrproc_t) xdr_void; + msg->acpted_rply.ar_results.where = NULL; + + pos = XDR_GETPOS(xdrs); + if (!xdr_replymsg(xdrs, msg) || + !SVCAUTH_WRAP(&SVC_AUTH(xprt), xdrs, xdr_proc, xdr_where)) { + XDR_SETPOS(xdrs, pos); + rstat = FALSE; + } + } else { + rstat = xdr_replymsg(xdrs, msg); + } + + if (rstat) + (void)xdrrec_endofrecord(xdrs, TRUE); + return (rstat); } ==== //depot/projects/soc2008/konrad_collation/libc/stdio/vfwprintf.c#5 (text+ko) ==== @@ -36,7 +36,7 @@ #endif /* LIBC_SCCS and not lint */ #endif #include -__FBSDID("$FreeBSD: src/lib/libc/stdio/vfwprintf.c,v 1.32 2008/06/29 22:54:26 das Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/stdio/vfwprintf.c,v 1.33 2008/08/04 06:55:42 cperciva Exp $"); /* * Actual wprintf innards. @@ -333,8 +333,10 @@ } if (nconv == (size_t)-1 || nconv == (size_t)-2) return (NULL); - } else + } else { insize = strlen(mbsarg); + nconv = 0; + } >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Aug 8 07:40:29 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9801B1065681; Fri, 8 Aug 2008 07:40:29 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5BEE6106566C for ; Fri, 8 Aug 2008 07:40:29 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 412E58FC15 for ; Fri, 8 Aug 2008 07:40:29 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m787eRYW014287 for ; Fri, 8 Aug 2008 07:40:27 GMT (envelope-from remko@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m787ePPY014283 for perforce@freebsd.org; Fri, 8 Aug 2008 07:40:25 GMT (envelope-from remko@freebsd.org) Date: Fri, 8 Aug 2008 07:40:25 GMT Message-Id: <200808080740.m787ePPY014283@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to remko@freebsd.org using -f From: Remko Lodder To: Perforce Change Reviews Cc: Subject: PERFORCE change 146896 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, 08 Aug 2008 07:40:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=146896 Change 146896 by remko@remko_nakur on 2008/08/08 07:39:41 correct some last minute end of tag failures. Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/faq/book.sgml#12 edit Differences ... ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/faq/book.sgml#12 (text+ko) ==== @@ -1294,7 +1294,7 @@ floppy gezet te worden. Het moet rauw gekopieerd worden naar de floppy door middel van een low-level tool (zoals fdimage of - rawriterawrite) zoals beschreven in de Installatie handleiding voor &os;. @@ -1414,7 +1414,7 @@ dus geen wijzigingen!) W. Deze optie vraagt om een bevestiging, selecteer &gui.yes; en zodra de Boot Manager selectie prompt komt selecteer - dan de &os; Boot Manager&os; Boot Manager. Dit Dit zal de opstartmanager wederom op de schijf zetten. Ga hierna uit het installatie menu, en herstart vanaf de schijf zoals gewoonlijk. From owner-p4-projects@FreeBSD.ORG Fri Aug 8 08:40:34 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 79D66106567E; Fri, 8 Aug 2008 08:40:34 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 227191065674 for ; Fri, 8 Aug 2008 08:40:34 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0ED438FC21 for ; Fri, 8 Aug 2008 08:40:34 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m788eVHN020484 for ; Fri, 8 Aug 2008 08:40:31 GMT (envelope-from remko@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m788eT1e020480 for perforce@freebsd.org; Fri, 8 Aug 2008 08:40:29 GMT (envelope-from remko@freebsd.org) Date: Fri, 8 Aug 2008 08:40:29 GMT Message-Id: <200808080840.m788eT1e020480@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to remko@freebsd.org using -f From: Remko Lodder To: Perforce Change Reviews Cc: Subject: PERFORCE change 146897 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, 08 Aug 2008 08:40:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=146897 Change 146897 by remko@remko_nakur on 2008/08/08 08:39:59 Rene updated the advanced networking chapter largely. Include the diff here. Submitted by: Rene Ladan Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/advanced-networking/chapter.sgml#4 edit Differences ... ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/advanced-networking/chapter.sgml#4 (text+ko) ==== @@ -1,9 +1,9 @@ @@ -33,7 +33,8 @@ - Hoe IEEE 802.11- en &bluetooth;-apparaten te installeren. + Hoe IEEE 802.11- en &bluetooth;-apparaten te installeren. + @@ -46,11 +47,12 @@ - Hoe network address translation te installeren. + Hoe Network Address Translation te installeren. - Hoe twee computers via PLIP met elkaar te verbinden. + Hoe twee computers via PLIP met elkaar te verbinden. + @@ -58,7 +60,12 @@ - Hoe ATM in te stellen + Hoe ATM in te stellen. + + + + Hoe de mogelijkheden van CARP, het Common Access + Redundancy Protocol, aan te zetten en te benutten. @@ -117,7 +124,7 @@ standaard. De standaardroute wordt gebruikt indien geen van de andere routes van toepassing zijn. Verderop wordt verder op standaardroutes ingegaan. Er zijn ook - drie getewaysoorten: individuele hosts, interfaces (ook wel + drie soorten geteways: individuele hosts, interfaces (ook wel verbindingen genoemd), en Ethernet-hardware-adressen (MAC-adressen). @@ -147,7 +154,9 @@ De eerste twee regels geven de standaardroute (die behandeld wordt in de volgende - sectie) en de localhost-route aan. + sectie) en de localhost-route aan. + + teruglusapparaat Het interface (kolom Netif) dat deze @@ -177,7 +186,8 @@ naar deze host automatisch verwijderd. Deze hosts worden geïdentificeerd door middel van een mechanisme dat bekend staat als RIP (Routing Information Protocol), dat routes naar - lokale hosts bepaald door middel van een kortste-pad algoritme. + lokale hosts bepaald door middel van een kortste-pad algoritme. + subnet @@ -185,8 +195,8 @@ 10.20.30.255 is het broadcast-adres voor het subnet 10.20.30, en - voorbeeld.com is de - domeinnaam die bij dat subnet hoort). De bestemming + example.com is de + domeinnaam die bij dat subnet hoort). De aanduiding link#1 verwijst naar de eerste Ethernetkaart in de machine. Merk op dat voor hen geen aanvullende interface is gespecificeerd. @@ -195,7 +205,7 @@ worden de routes automatisch ingesteld door een daemon genaamd routed. Indien dit niet draait, zullen alleen routes die statisch gedefinieerd (i.e. expliciet - vermeld) zijn bestaan. + vermeld zijn) bestaan. De regel met host1 verwijst naar deze host, het kent deze door het Ethernetadres. Aangezien het de @@ -254,16 +264,17 @@ C - Kloon: Maakt op bais van deze route een nieuwe + Kloon: Maakt op basis van deze route een nieuwe route aan voor machines waarmee verbinding wordt - gemaakt. Dit soort routen wordt gewoonlijk in lokale + gemaakt. Dit soort routes wordt gewoonlijk in lokale netwerken gebruikt. W WasGekloond: Geeft aan dat een route automatisch - was ingesteld gebaseerd op een LAN (kloon)-route. + was ingesteld gebaseerd op een LAN (kloon)-route. + @@ -285,11 +296,11 @@ moet maken, controleert het de routeertabel op reeds bekende paden. Indien de verre host binnen een subnet valt waarvan bekend is hoe het bereikt kan worden (gekloonde routes), - controleert het systeem of het met het daarbij horende interface - verbinding kan maken. + controleert het systeem of het met het daarbij behorende + interface verbinding kan maken. - Indien alle bekende paden falen heeft het systeem - één laatste mogelijkheid: de + Indien alle bekende paden falen, heeft het systeem + één laatste mogelijkheid: de standaardroute. Deze route is een speciaal soort gateway-route (gewoonlijk de enig aanwezige in het systeem) en is altijd gemarkeerd met een c in het @@ -300,7 +311,8 @@ Indien de standaardroute wordt ingesteld voor een machine die zelf als gateway naar de buitenwereld werkt, zal de - standaardroute de gateway-machine van de internetprovider zijn. + standaardroute de gateway-machine van de internetprovider zijn. + Hieronder volgt een voorbeeld van standaardroutes. Dit is een veelgebruikte opstelling: @@ -313,7 +325,7 @@ [Lokaal2] <--ether--> [Lokaal1] <--PPP--> [IP-Serv] <--ether--> [T1-GW] - + @@ -361,9 +373,10 @@ op het lokale netwerk van de internetprovider voor deze kant van de verbinding, routes voor alle andere machines op het lokale netwerk van de internetprovider automatisch aangemaakt worden. - Het is al bekend hoe de machine T1-GW bereikt - kan worden, dus is de tussenstap dat het verkeer eerst naar de - server van de internetprovider gestuurd wordt niet nodig. + Daarom is het al bekend hoe de machine T1-GW + bereikt kan worden, dus is de tussenstap dat het verkeer eerst + naar de server van de internetprovider gestuurd wordt niet + nodig. Het is gebruikelijk om het adres X.X.X.1 te gebruiken als het @@ -413,7 +426,7 @@ - <quote>Dual Homed</quote> machines + Dual Homed machines dual homed hosts @@ -430,16 +443,17 @@ Een alternatief is dat de machine slechts één Ethernet-kaart heeft en gebruikt maakt van &man.ifconfig.8; aliasing. Het eerste wordt gebruikt indien er twee fysiek - gescheiden Ethernet-kaarten in gebruik zijn, het laatste indien - er een fysiek netwerksegment is, maar er twee logisch gescheiden - subnetten zijn. + gescheiden Ethernet-netwerken in gebruik zijn, het laatste + indien er één fysiek netwerksegment is, maar er + twee logisch gescheiden subnetten zijn. In beide gevallen worden er routeertabellen aangemaakt zodat elk subnet weet dat deze machine de gedefinieerde gateway (ingaande route) naar het andere subnet is. Deze opstelling, - waarbij de machine dienst doet als router tussen twee subnetten, - wordt vaak gebruikt voor het implementeren van pakketfilters of - firewall-beveiliging in één of beide richtingen. + waarbij de machine dienst doet als router tussen de twee + subnetten, wordt vaak gebruikt voor het implementeren van + pakketfilters of firewall-beveiliging in één of + beide richtingen. Om deze machine daadwerkelijk pakketten te laten forwarden tussen de twee interfaces, moet aan &os; verteld worden dat het @@ -511,7 +525,7 @@ - + INTERNET | (10.0.0.1/24) Standaardrouter naar Internet | @@ -534,20 +548,21 @@ | 192.168.2.1/24 | Intern Net 2 - + In dit scenario is RouterA een &os;-machine die dienst doet als router naar de rest van het Internet. Het heeft een standaardroute ingesteld op 10.0.0.1, dat de router in staat - stelt om verbindingen met de buitenwereld te maken. Er wordt + role="ipaddr">10.0.0.1, dat het in staat stelt om + verbindingen met de buitenwereld te maken. Er wordt aangenomen dat RouterB reeds juist is ingesteld en dat het weet hoe het waar naar toe moet gaan. (In dit plaatje is dit simpel. Voeg een standaardroute op RouterB toe door 192.168.1.1 als gateway te gebruiken.) + role="ipaddr">192.168.1.1 als gateway te + gebruiken.) De routeertabel voor RouterA zou er ongeveer als volgt uitzien: @@ -582,9 +597,9 @@ Bovenstaand voorbeeld is perfect voor het instellen van een statische route op een draaiend systeem. Een probleem is - dat routeerinformatie verdwijnt indien de &os;-machine opnieuw - wordt opgestart. De manier om een statische route toe te - voegen is om het in het bestand + dat de routeerinformatie verdwijnt indien de &os;-machine + opnieuw wordt opgestart. De manier om een statische route toe + te voegen is om het in het bestand /etc/rc.conf toe te voegen: # Voeg Intern Net 2 als een statische route toe @@ -601,7 +616,8 @@ route_internnet2 toegevoegd waarin alle instellingsparameters staan die aan het commando &man.route.8; moeten worden doorgegeven. Voor - bovenstaand voorbeeld zou het volgende commando zijn gebruikt: + bovenstaand voorbeeld zou het volgende commando zijn gebruikt: + &prompt.root; route add -net 192.168.2.0/24 192.168.1.2 @@ -635,11 +651,12 @@ Het is al bekend dat routeertabellen aangemaakt kunnen worden zodat al het verkeer voor een bepaalde adresruimte (in ons voorbeeld een klasse-C subnet) naar een bepaalde host op dat - netwerk gezonden kan worden, dat de ingaande paketten doorgeeft. + netwerk gezonden kan worden, dat de ingaande paketten doorgeeft. + Wanneer een adresruimte aan een site wordt toegewezen, stelt de serviceprovider al hun routeertabellen zodanig in dat al het - verkeer voor het bijhorende subnet naar de PPP-verbinding op de + verkeer voor het bijhorende subnet naar de PPP-verbinding van de site gezonden wordt. Maar hoe weten sites door het land heen hoe naar de internetprovider van deze site te versturen? @@ -651,7 +668,8 @@ heeft een kopie van een master-verzameling van tabellen, die verkeer voor een bepaald netwerk naar een bepaalde backbone-carrier sturen, en vandaaruit naar een keten van - serviceproviders totdat het het netwerk van de site bereikt. + serviceproviders totdat het het netwerk van de site bereikt. + Het is de taak van de serviceprovider om bij de backbone-sites aan te geven dat zij het verbindingspunt (en dus @@ -667,7 +685,7 @@ Soms is er een probeem met routepropagatie en kunnen sommige sites geen verbinding maken. Misschien is het nuttigste commando om proberen uit te zoeken waar het routen misgaat - &man.traceroute.8;. Het is even nuttig als er geen verbinding + &man.traceroute.8;. Het is ook nuttig als er geen verbinding mogelijk lijkt met een verre machine (dus als &man.ping.8; faalt). @@ -705,11 +723,21 @@ via /etc/mrouted.conf aanmaakt. Kijk voor meer details over multicast-instellingen in de hulppagina voor &man.mrouted.8;. + + + Sinds &os; 7.0 is het multicast-routeer-daemon + &man.mrouted.8; uit het basissysteem verwijderd. Het + implementeert het multicast-routeer-protocol DVRMP + , welke in veel multicast-installaties grotendeels + is vervangen door &man.pim.4;. De gerelateerde gereedschappen + &man.map-mbone.8; en &man.mrinfo.8; zijn ook verwijderd. Deze + programma's zijn nu beschikbaar in de &os; + Ports Collectie als net/mrouted. + - + @@ -765,11 +793,11 @@ werkfrequenties, karakteristieken van de MAC-lagen waaronder frame- en zendsnelheden (communicatie kan met verschillende snelheden plaatsvinden). Later definieerde de 802.11a-standaard - het werken in de 5GHz band, wat ondermeer andere mechanismen - voor signalering en hogere zendsnelheden betekende. Nog later - werd de 802.11g-standaard gedefinieerd om gebruik te kunnen - maken van de signalerings- en zendmechanismen van 802.11a in de - 2,4GHz band zodanig dat het met terugwerkende kracht werkt op + het werken in de 5GHz band, inclusief andere mechanismen voor + signalering en hogere zendsnelheden. Nog later werd de + 802.11g-standaard gedefinieerd om gebruik te kunnen maken van de + signalerings- en zendmechanismen van 802.11a in de 2,4GHz band + zodanig dat het met terugwerkende kracht werkt op 802.11b-netwerken. Afgezien van de onderliggende zendtechnieken beschikken @@ -781,8 +809,8 @@ over het netwerk verstuurd worden te coderen. Alle stations dienen dezelfde sleutel te gebruiken om te kunnen communiceren. Het is bewezen dat dit mechanisme eenvoudig te kraken is en - wordt nu afgezien om voorbijgaande gebruikers te ontmoedigen het - netwerk te gebruiken nog zelden gebruikt. De huidige + wordt nu, afgezien om voorbijgaande gebruikers te ontmoedigen + het netwerk te gebruiken, nog zelden gebruikt. De huidige beveiligingsmethoden worden gegeven door de IEEE 802.11i specificatie dat nieuwe cryptografische algoritmen en een aanvullend protocol om stations aan een toegangspunt te @@ -800,32 +828,32 @@ WEP-sleutel is afgeleid. 802.11i staat het gebruik van TKIP toe maar vereist ook ondersteuning voor een sterkere sleutel, AES-CCM, om gegevens te versleutelen. (De AES-sleutel was niet - nodig in WPA omdat rekenkundig te kostbaar werd geacht voor - implementatie op oude hardware.) + nodig in WPA omdat het rekenkundig te kostbaar werd geacht voor + implementatie op verouderde hardware.) Afgezien van de bovenstaande protocolstandaarden is de andere belangrijke standaard waarvan bewustzijn belangrijk is 802.11e. Deze standaard definieert het opstellen van multi-mediatoepassingen zoals gestroomde video en voice over IP - (VoIP) binnen een 802.11-netwerk. Net als 802.11i, heeft ook + (VoIP) binnen een 802.11-netwerk. Net als 802.11i heeft ook 802.11e een voorgaande specificatie genaamd WME (later hernoemd tot WMM) die door een industriegroep is gedefinieerd als een deelverzameling van 802.11e die nu kan worden gebruikt om multi- - mediatoepassingen mogelijk te maken terwijl er op de - uiteindelijke ratificatie van 802.11e wordt gewacht. Het - belangrijkste om over 802.11e en WME/WMM te weten is dat ze - gepriotiseerd verkeersgebruik van een draadloos netwerk mogelijk - maken door middel van Quality of Service (QoS) protocollen en - protocollen voor verbeterde mediatoegang. Een juiste - implementatie van deze protocollen maken snelle gegevensbursts - en gepriotiseerde verkeersstromen mogelijk. + mediatoepassingen mogelijk te maken terwijl er gewacht wordt op + de uiteindelijke ratificatie van 802.11e. Het belangrijkste om + over 802.11e en WME/WMM te weten is dat ze gepriotiseerd + verkeersgebruik van een draadloos netwerk mogelijk maken door + middel van Quality of Service (QoS) protocollen en protocollen + voor verbeterde mediatoegang. Een juiste implementatie van deze + protocollen maken snelle gegevensbursts en gepriotiseerde + verkeersstromen mogelijk. Sinds versie 6.0 ondersteunt &os; netwerken die met 802.11a, - 802.11b, en 802.11g werken. Ook worden de veiligheidsprotocollen - WPA en 802.11i ondersteund (samen met 11a, 11b, of 11g) en QoS - en de verkeerspriorisatieprotocollen die nodig zijn voor de - protocollen WME/WMM worden voor een beperkte verzameling - draadloze apparatuur ondersteund. + 802.11b, en 802.11g werken. Ook worden de + veiligheidsprotocollen WPA en 802.11i ondersteund (samen met + 11a, 11b, of 11g) en QoS en de verkeerspriorisatieprotocollen + die nodig zijn voor de protocollen WME/WMM worden voor een + beperkte verzameling draadloze apparatuur ondersteund. @@ -851,12 +879,12 @@ if_ath_load="YES" Het stuurprogramma voor Atheros is opgedeeld in drie - verschillende delen: het eigenlijke stuurprogramma (&man.ath.4; - ), de ondersteuningslaag voor de hardware die chip-specifieke - functies afhandelt (&man.ath.hal.4;), en een algoritme om de - snelheid om frames te verzenden te kiezen uit een reeks - mogelijke waarden (hier ath_rate_sample). Indien deze - ondersteuning als modules wordt geladen, zullen de + verschillende delen: het eigenlijke stuurprogramma ( + &man.ath.4;), de ondersteuningslaag voor de hardware die + chip-specifieke functies afhandelt (&man.ath.hal.4;), en een + algoritme om de snelheid om frames te verzenden te kiezen uit + een reeks mogelijke waarden (hier ath_rate_sample). Indien + deze ondersteuning als modules wordt geladen, zullen de afhankelijkheden automatisch afgehandeld worden. Voor andere apparaten dan die van Atheros dient de module voor dat stuurprogramma geladen te worden; bijvoorbeeld: @@ -872,23 +900,23 @@ dient aangepast te worden aan de lokale installatie. Een lijst van beschikbare draadloze stuurprogramma's staat aan begin van de hulppagina &man.wlan.4;. Indien er geen - origineel stuurpgroamma voor het draadloze apparaat bestaat, - is het mogelijk om te proberen om direct het stuurprogramma - van &windows; proberen te gebruiken met behulp van de - stuurprogramma-wrapper NDIS. Nadat het apparaatstuurprogramma is ingesteld is het ook nodig om de ondersteuning voor 802.11-netwerken waarvan het stuurprogramma gebruik maakt in te stellen. Voor het - stuurprogramma voor &man.ath.4; is dit minimaal de module + stuurprogramma &man.ath.4; is dit minimaal de module &man.wlan.4;; deze module wordt automatisch geladen met het stuurprogramma voor draadloze apparaten. Daarvoor zijn ook de modules nodig die cryptografische ondersteuning implementeren - voor de optioneel te gebruiken veiligheidsprotocollen. Het is - de bedoeling dat ze dynamisch door de module &man.wlan.4; - worden geladen maar momenteel dienen ze handmatig ingesteld te + voor de te gebruiken veiligheidsprotocollen. Het is de + bedoeling dat ze dynamisch door de module &man.wlan.4; worden + geladen maar momenteel dienen ze handmatig ingesteld te worden. De volgende modules zijn beschikbaar: &man.wlan.wep.4;, &man.wlan.ccmp.4;, en &man.wlan.tkip.4;. Zowel de stuurprogramma's &man.wlan.ccmp.4; en @@ -950,7 +978,179 @@ netwerk heeft een eigen naam, deze naam wordt de SSID van het netwerk genoemd. Draadloze cliënten verbinden zich met de draadloze toegangspunten. + + + &os; cliënten + + + Hoe toegangspunten te vinden + + Voor het scannen van netwerken wordt het commando + ifconfig gebruikt. Het kan even duren + voordat dit verzoek is afgehandeld aangezien het systeem op + elke beschikbare draadloze frequentie naar toegangspunten + moet zoeken. Alleen de super-gebruiker kan zo'n scan + opzetten: + + &prompt.root; ifconfig ath0 up scan +SSID BSSID CHAN RATE S:N INT CAPS +dlinkap 00:13:46:49:41:76 6 54M 29:3 100 EPS WPA WME +freebsdap 00:11:95:c3:0d:ac 1 54M 22:1 100 EPS WPA + + + Het interface dient als up te worden gemarkeerd + voordat het scannen begint. Voor verdere scans is het + niet nodig om het inferface als up te markeren. + + + De uitvoer van een scanverzoek vermeld elk gevonden + BSS/IBSS-netwerk. Naast de naam van het netwerk, + SSID, staat het BSSID, + wat het MAC-adres van het toegangspunt is. Het veld + CAPS identificeert het type van elk + netwerk en de mogelijkheden van de stations die daar + werkzaam zijn: + + + + E + + + Uitgebreide dienstenverzameling (ESS). Geeft aan + dat het station deel uitmaakt van een + infrastructuurnetwerk (in tegenstelling tot een IBSS-/ + ad-hoc-netwerk). + + + + + I + + + IBSS-/ad-hoc-netwerk. Geeft aan dat het station + deel uitmaakt van een ad-hoc-netwerk (in tegenstelling + tot een ESS-netwerk). + + + + + P + + + Privacy. Vertrouwelijkheid is vereist voor alle + gegevensframes die binnen het BSS worden uitgewisseld. + Dit betekent dat dit BSS eist dat het station + cryptografsiche middelen als WEP, TKIP of AES-CCMP + dient te gebruiken om de gegevensframes die met + anderen worden uitgewisseld te versleutelen en te + ontsleutelen. + + + + + S + + + Korte preambule. Geeft aan dat het netwerk korte + preambules gebruikt (gedefineerd in 802.11b Hoge + Snelheid/DSSS PHY, korte preambule gebruikt een + 56-bits synchronisatieveld in tegenstelling tot een + 128-bits dat bij lange preambules wordt gebruikt). + + + + + + s + + + Korte slottijd. Geeft aan dat het 802.11g-netwerk + een korte slottijd gebruikt omdat er geen verouderde + (802.11b) stations aanwezig zijn. + + + + + Het is ook mogelijk om de huidige lijst van bekende + netwerken weer te geven met: + + &prompt.root; ifconfig ath0 list scan + + Deze informatie kan automatisch bijgewerkt worden door + de adapter of handmatig met een + verzoek. Oude gegevens worden automatisch uit de cache + verwijderd, dus kan deze lijst na verloop van tijd korter + worde tenzij er meer scanverzoeken gedaan worden. + + + + Basisinstellingen + + Deze sectie geeft een eenvoudig voorbeeld hoe de + draadloze netwerkadapter in &os; zonder encryptie aan de + praat te krijgen. Nadat deze concepten bekend zijn, wordt + het sterk aangeraden om WPA te gebruiken om + de draadloze netwerken op te zetten. + + Er zijn drie basisstappen om een draadloos netwerk in te + stellen: een toegangspunt kiezen, het station authenticeren, + en een IP-adres instellen. De volgende secties behandelen + elk een stap. + + + Een toegangspunt kiezen + + In de meeste gevallen is het voldoende om het systeem + een toegangspunt gebaseerd op de ingebouwde heuristieken + te laten kiezen. Dit is het standaardgedrag wanneer een + interface als up wordt gemarkeerd of als een interface + wordt ingesteld door het te noemen in + /etc/rc.conf, bijvoorbeeld: + + ifconfig_ath0="DHCP" + + Indien er meerdere toegangspunten zijn en het gewenst + is om een specifieke te kiezen, kan dit met het SSID: + + + ifconfig_ath0="ssid uw_ssid_hier DHCP" + + In een omgeving waar meerdere toegangspunten hetzelfde + SSID hebben (vaak gedaan om roamen eenvoudiger te maken) + kan het nodig zijn om met één specifiek + apparaat te associëren. In dit geval kan ook het + BSSID van het toegangspunt gespecificeerd worden (het SSID + kan ook weggelaten worden): + + ifconfig_ath0="ssid uw_ssid_hier bssid xx:xx:xx:xx:xx:xx DHCP + + Er zijn andere manieren om de keuze van een + toegangspunt te beperken zoals het beperken van het aantal + frequenties waarop het systeem scant. Dit kan handig zijn + bij multi-band-netwerkkaarten aangezien het scannen van + alle mogelijke kanalen tijdrovend kan zijn. Om de werking + tot een specifieke band te beperken kan de parameter + gebruikt worden; bijvoorbeeld: + + + ifconfig_ath0="mode 11g ssid uw_ssid_hier DHCP" + + zal de kaart forceren om te werken in 802.11g welke + alleen voor 2,4GHz frequenties is gedefinieerd dus de 5GHz + kanalen blijven buiten beschouwing. Andere manieren om + dit te doen zijn de parameter , + om bewerkingen op één specifieke frequentie + vast te zetten, en de parameter , + om een lijst van te scannen kanalen te specificeren. Meer + informatie over deze parameters kan in de hulppagina + &man.ifconfig.8; gevonden worden. + + + + + @@ -1837,7 +2037,7 @@ - Er zijn minstens twee manieren om de kernel over het + Er zijn minstens twee manieren om de kernel over het netwerk te laden: @@ -2075,7 +2275,7 @@ max-lease-time 7200; authoritative; -option domain-name "voorbeeld.com"; +option domain-name "example.com"; option domain-name-servers 192.168.4.1; option routers 192.168.4.1; @@ -2086,14 +2286,14 @@ host margaux { hardware ethernet 01:23:45:67:89:ab; - fixed-address margaux.voorbeeld.com; + fixed-address margaux.example.com; next-server 192.168.4.4; filename "/data/misc/kernel.diskless"; option root-path "192.168.4.4:/data/misc/diskless"; } host corbieres { hardware ethernet 00:02:b3:27:62:df; - fixed-address corbieres.voorbeeld.com; + fixed-address corbieres.example.com; next-server 192.168.4.4; filename "pxeboot"; option root-path "192.168.4.4:/data/misc/diskless"; From owner-p4-projects@FreeBSD.ORG Fri Aug 8 08:51:46 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 086B71065678; Fri, 8 Aug 2008 08:51:46 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BF4541065673 for ; Fri, 8 Aug 2008 08:51:45 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id ABDEC8FC08 for ; Fri, 8 Aug 2008 08:51:45 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m788pjbR030639 for ; Fri, 8 Aug 2008 08:51:45 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m788pjqw030637 for perforce@freebsd.org; Fri, 8 Aug 2008 08:51:45 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Fri, 8 Aug 2008 08:51:45 GMT Message-Id: <200808080851.m788pjqw030637@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 146898 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, 08 Aug 2008 08:51:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=146898 Change 146898 by rwatson@rwatson_cinnamon on 2008/08/08 08:51:02 Update directory list in README for addition of sys/bsm to OpenBSM. Affected files ... .. //depot/projects/trustedbsd/openbsm/README#32 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/README#32 (text+ko) ==== @@ -16,12 +16,13 @@ OpenBSM consists of several directories: bin/ Audit-related command line tools - bsm/ System include files for BSM + bsm/ Library include files for BSM compat/ Compatibility code to build on various OS's etc/ Sample /etc/security configuration files libbsm/ Implementation of BSM library interfaces and man pages man/ System call and configuration file man pages modules/ Directory for auditfilterd module source + sys/ System include files for BSM test/ Test token sets and geneneration program tools/ Tool directory, including audump to dump databases @@ -54,4 +55,4 @@ http://www.TrustedBSD.org/ -$P4: //depot/projects/trustedbsd/openbsm/README#31 $ +$P4: //depot/projects/trustedbsd/openbsm/README#32 $ From owner-p4-projects@FreeBSD.ORG Fri Aug 8 08:55:50 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0A0BF106566C; Fri, 8 Aug 2008 08:55:50 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C255A106567C for ; Fri, 8 Aug 2008 08:55:49 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id AEF068FC0C for ; Fri, 8 Aug 2008 08:55:49 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m788tnNU030966 for ; Fri, 8 Aug 2008 08:55:49 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m788tndU030964 for perforce@freebsd.org; Fri, 8 Aug 2008 08:55:49 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Fri, 8 Aug 2008 08:55:49 GMT Message-Id: <200808080855.m788tndU030964@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 146899 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, 08 Aug 2008 08:55:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=146899 Change 146899 by rwatson@rwatson_cinnamon on 2008/08/08 08:55:13 Update news. Affected files ... .. //depot/projects/trustedbsd/openbsm/NEWS#4 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/NEWS#4 (text+ko) ==== @@ -1,5 +1,19 @@ OpenBSM Version History +OpenBSM 1.1 alpha 2 + +- Include files in OpenBSM are now broken out into two parts: library builds + required solely for user space, and system includes, which may also be + required for use in the kernels of systems integrating OpenBSM. Submitted + by Stacey Son. +- Configure option --with-native-includes allows forcing the use of native + include for system includes, rather than the versions bundled with OpenBSM. + This is intended specifically for platforms that ship OpenBSM, have adapted + versions of the system includes in a kernel source tree, and will use the + OpenBSM build infrastructure with an unmodified OpenBSM distribution, + allowing the customized system includes to be used with the OpenBSM build. + Submitted by stacey Son. + OpenBSM 1.1 alpha 1 - Add option to auditreduce(1) which allows users to invert sense of @@ -323,4 +337,4 @@ to support reloading of kernel event table. - Allow comments in /etc/security configuration files. -$P4: //depot/projects/trustedbsd/openbsm/NEWS#3 $ +$P4: //depot/projects/trustedbsd/openbsm/NEWS#4 $ From owner-p4-projects@FreeBSD.ORG Fri Aug 8 08:55:51 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9E12D1065733; Fri, 8 Aug 2008 08:55:50 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 095BB106564A for ; Fri, 8 Aug 2008 08:55:50 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D00738FC14 for ; Fri, 8 Aug 2008 08:55:49 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m788tnYu030971 for ; Fri, 8 Aug 2008 08:55:49 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m788tnCn030969 for perforce@freebsd.org; Fri, 8 Aug 2008 08:55:49 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Fri, 8 Aug 2008 08:55:49 GMT Message-Id: <200808080855.m788tnCn030969@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 146900 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, 08 Aug 2008 08:55:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=146900 Change 146900 by rwatson@rwatson_cinnamon on 2008/08/08 08:55:31 This will be OpenBSM 1.1 alpha 2 when we get around to it. Affected files ... .. //depot/projects/trustedbsd/openbsm/VERSION#19 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/VERSION#19 (text+ko) ==== @@ -1,1 +1,1 @@ -OPENBSM_1_1_ALPHA_1 +OPENBSM_1_1_ALPHA_2 From owner-p4-projects@FreeBSD.ORG Fri Aug 8 09:52:48 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DA33B1065695; Fri, 8 Aug 2008 09:52:47 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9E7691065691 for ; Fri, 8 Aug 2008 09:52:47 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7241E8FC1E for ; Fri, 8 Aug 2008 09:52:47 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m789qlRF036578 for ; Fri, 8 Aug 2008 09:52:47 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m789qlsU036576 for perforce@freebsd.org; Fri, 8 Aug 2008 09:52:47 GMT (envelope-from trasz@freebsd.org) Date: Fri, 8 Aug 2008 09:52:47 GMT Message-Id: <200808080952.m789qlsU036576@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 146901 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, 08 Aug 2008 09:52:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=146901 Change 146901 by trasz@trasz_traszkan on 2008/08/08 09:52:28 In vaccess_acl_nfs4, skip entries with ACL_ENTRY_ONLY_INHERIT flag set. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_acl_nfs4.c#16 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_acl_nfs4.c#16 (text+ko) ==== @@ -105,6 +105,9 @@ entry->ae_extended != ACL_EXTENDED_DENY) continue; + if (entry->ae_flags & ACL_ENTRY_ONLY_INHERIT) + continue; + switch (entry->ae_tag) { case ACL_USER_OBJ: if (file_uid != cred->cr_uid) From owner-p4-projects@FreeBSD.ORG Fri Aug 8 09:57:53 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0E3C61065673; Fri, 8 Aug 2008 09:57:53 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C66041065675 for ; Fri, 8 Aug 2008 09:57:52 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B46428FC15 for ; Fri, 8 Aug 2008 09:57:52 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m789vqPM036954 for ; Fri, 8 Aug 2008 09:57:52 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m789vqiq036952 for perforce@freebsd.org; Fri, 8 Aug 2008 09:57:52 GMT (envelope-from trasz@freebsd.org) Date: Fri, 8 Aug 2008 09:57:52 GMT Message-Id: <200808080957.m789vqiq036952@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 146902 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, 08 Aug 2008 09:57:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=146902 Change 146902 by trasz@trasz_traszkan on 2008/08/08 09:57:28 Style fixes. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_acl_nfs4.c#17 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_acl_nfs4.c#17 (text+ko) ==== @@ -89,13 +89,13 @@ * */ static int -_acl_denies(const struct acl *aclp, int needed_bits, struct ucred *cred, +_acl_denies(const struct acl *aclp, int access_mask, struct ucred *cred, int file_uid, int file_gid, int *denied_explicitly) { int i; const struct acl_entry *entry; - if (denied_explicitly) + if (denied_explicitly != NULL) *denied_explicitly = 0; for (i = 0; i < aclp->acl_cnt; i++) { @@ -135,17 +135,17 @@ } if (entry->ae_extended == ACL_EXTENDED_DENY) { - if (entry->ae_perm & needed_bits) { - if (denied_explicitly) + if (entry->ae_perm & access_mask) { + if (denied_explicitly != NULL) *denied_explicitly = 1; return (1); } } - needed_bits &= ~(entry->ae_perm); + access_mask &= ~(entry->ae_perm); - if (needed_bits == 0) + if (access_mask == 0) return (0); } @@ -157,7 +157,7 @@ struct acl *aclp, vaccess_t acc_mode, struct ucred *cred, int *privused) { vaccess_t priv_granted = 0; - int denied, explicitly_denied, needed_bits, is_directory, + int denied, explicitly_denied, access_mask, is_directory, must_be_owner = 0; if (privused != NULL) @@ -166,7 +166,7 @@ if (acc_mode & VADMIN) must_be_owner = 1; - needed_bits = _access_mask_from_mode(acc_mode); + access_mask = _access_mask_from_mode(acc_mode); if (type == VDIR) is_directory = 1; @@ -180,19 +180,19 @@ * from undoing the change. */ if (file_uid == cred->cr_uid) - needed_bits &= ~(ACL_READ_ACL | ACL_WRITE_ACL | + access_mask &= ~(ACL_READ_ACL | ACL_WRITE_ACL | ACL_READ_ATTRIBUTES | ACL_WRITE_ATTRIBUTES); /* * Ignore append permission for regular files; use write * permission instead. */ - if (!is_directory && (needed_bits & ACL_APPEND_DATA)) { - needed_bits &= ~ACL_APPEND_DATA; - needed_bits |= ACL_WRITE_DATA; + if (!is_directory && (access_mask & ACL_APPEND_DATA)) { + access_mask &= ~ACL_APPEND_DATA; + access_mask |= ACL_WRITE_DATA; } - denied = _acl_denies(aclp, needed_bits, cred, file_uid, file_gid, + denied = _acl_denies(aclp, access_mask, cred, file_uid, file_gid, &explicitly_denied); if (must_be_owner) { From owner-p4-projects@FreeBSD.ORG Fri Aug 8 10:35:31 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 581241065676; Fri, 8 Aug 2008 10:35:31 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1B50C1065674 for ; Fri, 8 Aug 2008 10:35:31 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 075EA8FC0A for ; Fri, 8 Aug 2008 10:35:31 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m78AZUIM041215 for ; Fri, 8 Aug 2008 10:35:30 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m78AZUlD041213 for perforce@freebsd.org; Fri, 8 Aug 2008 10:35:30 GMT (envelope-from ed@FreeBSD.org) Date: Fri, 8 Aug 2008 10:35:30 GMT Message-Id: <200808081035.m78AZUlD041213@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 146904 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, 08 Aug 2008 10:35:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=146904 Change 146904 by ed@ed_flippo on 2008/08/08 10:35:01 IFC. Last time I integrated at a bad moment. Affected files ... .. //depot/projects/mpsafetty/games/fortune/strfile/strfile.c#3 integrate .. //depot/projects/mpsafetty/games/random/random.c#2 integrate .. //depot/projects/mpsafetty/games/random/randomize_fd.c#2 integrate .. //depot/projects/mpsafetty/games/random/randomize_fd.h#2 integrate .. //depot/projects/mpsafetty/lib/msun/src/e_asinf.c#4 integrate .. //depot/projects/mpsafetty/lib/msun/src/e_jnf.c#2 integrate .. //depot/projects/mpsafetty/lib/msun/src/e_rem_pio2.c#2 integrate .. //depot/projects/mpsafetty/lib/msun/src/e_rem_pio2f.c#2 integrate .. //depot/projects/mpsafetty/lib/msun/src/s_csqrt.c#2 integrate .. //depot/projects/mpsafetty/lib/msun/src/s_csqrtf.c#2 integrate .. //depot/projects/mpsafetty/lib/msun/src/s_csqrtl.c#2 integrate .. //depot/projects/mpsafetty/share/man/man9/condvar.9#2 integrate .. //depot/projects/mpsafetty/share/man/man9/sleep.9#2 integrate .. //depot/projects/mpsafetty/share/man/man9/sleepqueue.9#2 integrate .. //depot/projects/mpsafetty/share/zoneinfo/Makefile#2 integrate .. //depot/projects/mpsafetty/share/zoneinfo/Theory#2 delete .. //depot/projects/mpsafetty/share/zoneinfo/africa#2 integrate .. //depot/projects/mpsafetty/share/zoneinfo/asia#2 integrate .. //depot/projects/mpsafetty/share/zoneinfo/australasia#2 integrate .. //depot/projects/mpsafetty/share/zoneinfo/europe#2 integrate .. //depot/projects/mpsafetty/share/zoneinfo/leapseconds#3 integrate .. //depot/projects/mpsafetty/share/zoneinfo/northamerica#2 integrate .. //depot/projects/mpsafetty/share/zoneinfo/southamerica#2 integrate .. //depot/projects/mpsafetty/share/zoneinfo/zone.tab#2 integrate .. //depot/projects/mpsafetty/sys/boot/sparc64/loader/locore.S#2 integrate .. //depot/projects/mpsafetty/sys/boot/sparc64/loader/main.c#2 integrate .. //depot/projects/mpsafetty/sys/dev/sym/sym_hipd.c#2 integrate .. //depot/projects/mpsafetty/sys/sparc64/include/tte.h#2 integrate .. //depot/projects/mpsafetty/sys/sun4v/include/tte.h#2 integrate .. //depot/projects/mpsafetty/usr.bin/make/job.c#2 integrate .. //depot/projects/mpsafetty/usr.sbin/freebsd-update/freebsd-update.sh#3 integrate Differences ... ==== //depot/projects/mpsafetty/games/fortune/strfile/strfile.c#3 (text+ko) ==== @@ -46,7 +46,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/games/fortune/strfile/strfile.c,v 1.30 2008/08/07 20:05:51 ache Exp $"); +__FBSDID("$FreeBSD: src/games/fortune/strfile/strfile.c,v 1.31 2008/08/07 21:36:09 ache Exp $"); # include # include @@ -447,6 +447,10 @@ off_t tmp; off_t *sp; +#if __FreeBSD_version < 800041 + srandomdev(); +#endif + Tbl.str_flags |= STR_RANDOM; cnt = Tbl.str_numstr; @@ -455,7 +459,11 @@ */ for (sp = Seekpts; cnt > 0; cnt--, sp++) { +#if __FreeBSD_version < 800041 + i = random() % cnt; +#else i = arc4random_uniform(cnt); +#endif tmp = sp[0]; sp[0] = sp[i]; sp[i] = tmp; ==== //depot/projects/mpsafetty/games/random/random.c#2 (text+ko) ==== @@ -46,7 +46,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/games/random/random.c,v 1.20 2006/04/14 17:32:27 ache Exp $"); +__FBSDID("$FreeBSD: src/games/random/random.c,v 1.22 2008/08/08 01:42:17 ache Exp $"); #include @@ -63,12 +63,6 @@ #include "randomize_fd.h" -/* - * The random() function is defined to return values between 0 and - * 2^31 - 1 inclusive in random(3). - */ -#define RANDOM_MAX 0x7fffffffL - static void usage(void); int @@ -137,8 +131,8 @@ err(1, "%s", *argv); if (denom <= 0 || *ep != '\0') errx(1, "denominator is not valid."); - if (random_exit && denom > 255) - errx(1, "denominator must be <= 255 for random exit."); + if (random_exit && denom > 256) + errx(1, "denominator must be <= 256 for random exit."); break; default: usage(); @@ -168,7 +162,7 @@ /* Compute a random exit status between 0 and denom - 1. */ if (random_exit) - return (int)((denom * random()) / RANDOM_MAX); + return (int)(denom * random() / RANDOM_MAX); /* * Select whether to print the first line. (Prime the pump.) ==== //depot/projects/mpsafetty/games/random/randomize_fd.c#2 (text+ko) ==== @@ -25,13 +25,14 @@ */ #include -__FBSDID("$FreeBSD: src/games/random/randomize_fd.c,v 1.3 2006/04/14 17:32:27 ache Exp $"); +__FBSDID("$FreeBSD: src/games/random/randomize_fd.c,v 1.5 2008/08/08 02:46:47 ache Exp $"); #include #include #include #include +#include #include #include #include @@ -94,10 +95,11 @@ randomize_fd(int fd, int type, int unique, double denom) { u_char *buf; - u_int numnode, j, selected, slen; + u_int slen; + u_long i, j, numnode, selected; struct rand_node *n, *prev; int bufleft, eof, fndstr, ret; - size_t bufc, buflen, i; + size_t bufc, buflen; ssize_t len; rand_root = rand_tail = NULL; @@ -173,6 +175,11 @@ (type == RANDOM_TYPE_WORDS && isspace(buf[i])) || (eof && i == buflen - 1)) { make_token: + if (numnode == RANDOM_MAX) { + errno = EFBIG; + err(1, "too many lines"); + } + numnode++; n = rand_node_allocate(); if (-1 != (int)i) { slen = i - (u_long)bufc; @@ -188,7 +195,6 @@ } rand_node_append(n); fndstr = 1; - numnode++; } } } @@ -202,16 +208,18 @@ } for (i = numnode; i > 0; i--) { - selected = ((int)denom * random())/(((double)RAND_MAX + 1) / numnode); + selected = random() % numnode; for (j = 0, prev = n = rand_root; n != NULL; j++, prev = n, n = n->next) { if (j == selected) { if (n->cp == NULL) break; - ret = printf("%.*s", (int)n->len - 1, n->cp); - if (ret < 0) - err(1, "printf"); + if ((int)(denom * random() / RANDOM_MAX) == 0) { + ret = printf("%.*s", (int)n->len - 1, n->cp); + if (ret < 0) + err(1, "printf"); + } if (unique) { if (n == rand_root) rand_root = n->next; @@ -221,8 +229,8 @@ prev->next = n->next; rand_node_free(n); numnode--; - break; } + break; } } } ==== //depot/projects/mpsafetty/games/random/randomize_fd.h#2 (text+ko) ==== @@ -23,12 +23,18 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/games/random/randomize_fd.h,v 1.2 2003/02/15 10:26:10 seanc Exp $ + * $FreeBSD: src/games/random/randomize_fd.h,v 1.3 2008/08/08 01:42:17 ache Exp $ */ #ifndef __RANDOMIZE_FD__ #define __RANDOMIZE_FD__ +/* + * The random() function is defined to return values between 0 and + * 2^31 - 1 inclusive in random(3). + */ +#define RANDOM_MAX 0x80000000UL + #define RANDOM_TYPE_UNSET 0 #define RANDOM_TYPE_LINES 1 #define RANDOM_TYPE_WORDS 2 ==== //depot/projects/mpsafetty/lib/msun/src/e_asinf.c#4 (text+ko) ==== @@ -14,7 +14,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/msun/src/e_asinf.c,v 1.12 2008/08/03 17:39:54 das Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/src/e_asinf.c,v 1.13 2008/08/08 00:21:27 das Exp $"); #include "math.h" #include "math_private.h" @@ -35,7 +35,7 @@ __ieee754_asinf(float x) { double s; - float t,w,p,q,c,r; + float t,w,p,q; int32_t hx,ix; GET_FLOAT_WORD(hx,x); ix = hx&0x7fffffff; ==== //depot/projects/mpsafetty/lib/msun/src/e_jnf.c#2 (text+ko) ==== @@ -14,13 +14,12 @@ */ #include -__FBSDID("$FreeBSD: src/lib/msun/src/e_jnf.c,v 1.9 2008/02/22 02:30:35 das Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/src/e_jnf.c,v 1.10 2008/08/08 00:21:27 das Exp $"); #include "math.h" #include "math_private.h" static const float -invsqrtpi= 5.6418961287e-01, /* 0x3f106ebb */ two = 2.0000000000e+00, /* 0x40000000 */ one = 1.0000000000e+00; /* 0x3F800000 */ ==== //depot/projects/mpsafetty/lib/msun/src/e_rem_pio2.c#2 (text+ko) ==== @@ -14,7 +14,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/msun/src/e_rem_pio2.c,v 1.18 2008/02/28 16:22:36 bde Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/src/e_rem_pio2.c,v 1.19 2008/08/08 00:21:27 das Exp $"); /* __ieee754_rem_pio2(x,y) * @@ -39,7 +39,6 @@ static const double zero = 0.00000000000000000000e+00, /* 0x00000000, 0x00000000 */ -half = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */ two24 = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */ invpio2 = 6.36619772367581382433e-01, /* 0x3FE45F30, 0x6DC9C883 */ pio2_1 = 1.57079632673412561417e+00, /* 0x3FF921FB, 0x54400000 */ ==== //depot/projects/mpsafetty/lib/msun/src/e_rem_pio2f.c#2 (text+ko) ==== @@ -15,7 +15,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/msun/src/e_rem_pio2f.c,v 1.29 2008/02/28 16:22:36 bde Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/src/e_rem_pio2f.c,v 1.30 2008/08/08 00:21:27 das Exp $"); /* __ieee754_rem_pio2f(x,y) * @@ -36,7 +36,6 @@ */ static const double -half = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */ invpio2 = 6.36619772367581382433e-01, /* 0x3FE45F30, 0x6DC9C883 */ pio2_1 = 1.57079631090164184570e+00, /* 0x3FF921FB, 0x50000000 */ pio2_1t = 1.58932547735281966916e-08; /* 0x3E5110b4, 0x611A6263 */ ==== //depot/projects/mpsafetty/lib/msun/src/s_csqrt.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/msun/src/s_csqrt.c,v 1.3 2008/03/30 20:07:14 das Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/src/s_csqrt.c,v 1.4 2008/08/08 00:15:16 das Exp $"); #include #include @@ -40,7 +40,7 @@ * gcc generates is acceptable, since the special cases have already been * handled. */ -#pragma STDC CX_LIMITED_RANGE on +#pragma STDC CX_LIMITED_RANGE ON /* We risk spurious overflow for components >= DBL_MAX / (1 + sqrt(2)). */ #define THRESH 0x1.a827999fcef32p+1022 ==== //depot/projects/mpsafetty/lib/msun/src/s_csqrtf.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/msun/src/s_csqrtf.c,v 1.2 2008/01/11 04:18:25 das Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/src/s_csqrtf.c,v 1.3 2008/08/08 00:15:16 das Exp $"); #include #include @@ -39,7 +39,7 @@ * gcc generates is acceptable, since the special cases have already been * handled. */ -#pragma STDC CX_LIMITED_RANGE on +#pragma STDC CX_LIMITED_RANGE ON float complex csqrtf(float complex z) ==== //depot/projects/mpsafetty/lib/msun/src/s_csqrtl.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/msun/src/s_csqrtl.c,v 1.1 2008/03/30 20:07:14 das Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/src/s_csqrtl.c,v 1.2 2008/08/08 00:15:16 das Exp $"); #include #include @@ -40,7 +40,7 @@ * gcc generates is acceptable, since the special cases have already been * handled. */ -#pragma STDC CX_LIMITED_RANGE on +#pragma STDC CX_LIMITED_RANGE ON /* We risk spurious overflow for components >= LDBL_MAX / (1 + sqrt(2)). */ #define THRESH (LDBL_MAX / 2.414213562373095048801688724209698L) ==== //depot/projects/mpsafetty/share/man/man9/condvar.9#2 (text+ko) ==== @@ -24,7 +24,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH .\" DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/condvar.9,v 1.21 2007/06/05 20:53:18 imp Exp $ +.\" $FreeBSD: src/share/man/man9/condvar.9,v 1.22 2008/08/07 21:00:13 jhb Exp $ .\" .Dd June 5, 2007 .Dt CONDVAR 9 @@ -136,9 +136,27 @@ .Fa lock is atomically released before the thread is blocked, then reacquired before the function call returns. +In addition, the thread will fully drop the +.Va Giant +mutex +(even if recursed) +while the it is suspended and will reacquire the +.Va Giant +mutex before the function returns. The .Fn cv_wait_unlock function does not reacquire the lock before returning. +Note that the +.Va Giant +mutex may be specified as +.Fa lock . +However, +.Va Giant +may not be used as +.Fa lock +for the +.Fn cv_wait_unlock +function. All waiters must pass the same .Fa lock in conjunction with ==== //depot/projects/mpsafetty/share/man/man9/sleep.9#2 (text+ko) ==== @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/sleep.9,v 1.62 2008/04/04 16:59:58 imp Exp $ +.\" $FreeBSD: src/share/man/man9/sleep.9,v 1.63 2008/08/07 21:00:13 jhb Exp $ .\" .Dd April 4, 2008 .Os @@ -157,6 +157,12 @@ while the thread is suspended and will reacquire the .Va Giant mutex before the function returns. +Note that the +.Va Giant +mutex may be specified as the lock to drop. +In that case, however, the +.Dv PDROP +flag is not allowed. .Pp To avoid lost wakeups, either a lock should be used to protect against races, ==== //depot/projects/mpsafetty/share/man/man9/sleepqueue.9#2 (text+ko) ==== @@ -21,7 +21,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/sleepqueue.9,v 1.16 2007/09/28 11:13:40 gabor Exp $ +.\" $FreeBSD: src/share/man/man9/sleepqueue.9,v 1.17 2008/08/07 20:47:01 jhb Exp $ .\" .Dd August 13, 2007 .Dt SLEEPQUEUE 9 @@ -51,13 +51,13 @@ .In sys/sleepqueue.h .Ft void .Fn init_sleepqueues "void" -.Ft void +.Ft int .Fn sleepq_abort "struct thread *td" .Ft void .Fn sleepq_add "void *wchan" "struct lock_object *lock" "const char *wmesg" "int flags" "int queue" .Ft struct sleepqueue * .Fn sleepq_alloc "void" -.Ft void +.Ft int .Fn sleepq_broadcast "void *wchan" "int flags" "int pri" "int queue" .Ft int .Fn sleepq_calc_signal_retval "int sig" @@ -73,7 +73,7 @@ .Fn sleepq_release "void *wchan" .Ft void .Fn sleepq_remove "struct thread *td" "void *wchan" -.Ft void +.Ft int .Fn sleepq_signal "void *wchan" "int flags" "int pri" "int queue" .Ft void .Fn sleepq_set_timeout "void *wchan" "int timo" @@ -347,6 +347,21 @@ One possible use is waking up a specific thread from a widely shared sleep channel. .Pp +The +.Fn sleepq_abort , +.Fn sleepq_broadcast , +and +.Fn sleepq_signal +functions all return a boolean value. +If the return value is true, +then at least one thread was resumed that is currently swapped out. +The caller is responsible for awakening the scheduler process so that the +resumed thread will be swapped back in. +This is done by calling the +.Fn kick_proc0 +function after releasing the sleep queue chain lock via a call to +.Fn sleepq_release . +.Pp The sleep queue interface is currently used to implement the .Xr sleep 9 and ==== //depot/projects/mpsafetty/share/zoneinfo/Makefile#2 (text+ko) ==== @@ -1,29 +1,33 @@ -# $FreeBSD: src/share/zoneinfo/Makefile,v 1.22 2007/10/08 21:16:38 edwin Exp $ +# $FreeBSD: src/share/zoneinfo/Makefile,v 1.23 2008/08/08 04:37:43 edwin Exp $ # # HOW TO UPDATE THE ZONEINFO DATA # -# In a clean directory, unpack the distribution archive and run: +# With the use of subversion, this is a little bit simpler than the CVS method. # -# $ cvs -d :ext:ncvs.freebsd.org:/home/ncvs import -b 1.1.2 \ -# src/share/zoneinfo ADO tzdataYYYYt +# Import the new sources to the vendor branch: # -# where YYYYt is the year and the version of the distribution, for -# example 2004h. +# $ cd ~/svn/vendor/tzdata/dist +# $ tar zxvf /usr/ports/distfile/tzdata2008X.tar.gz +# (check with "svn stat" and "svn diff" if it all makes sense) +# $ svn commit # Commit message: "Vendor import of tzdata2008X (+details)" # -# Then go to the checked out source, and merge the changes from the -# previous tag to the new tag in the HEAD: +# Tag it # -# $ cd ../src/share/zoneinfo -# $ cvs update -jtzdataYYYYp -j tzdataYYYYt +# $ cd ~/svn/vendor/tzdata +# $ svn cp svn+ssh://svn.freebsd.org/base/vendor/tzdata/dist \ +# svn+ssh://svn.freebsd.org/base/vendor/tzdata/tzdata2008X +# $ svn update # -# Update it again: -# -# $ cvs update +# Merge-from-vendor # -# And push it back into CVS: -# -# $ cvs ci +# $ cd ~svn/head/share/zoneinfo +# $ svn update +# $ svn merge --accept=postpone \ +# svn+ssh://svn.freebsd.org/base/vendor/tzdata/dist . +# $ svn diff --no-diff-deleted \ +# --old=svn+ssh://svn.freebsd.org/base/vendor/tzdata/dist --new=. +# $ svn commit # CLEANFILES+= yearistype ==== //depot/projects/mpsafetty/share/zoneinfo/africa#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# @(#)africa 8.10 +# @(#)africa 8.15 #

     
     # This data is by no means authoritative; if you think you know better,
    @@ -387,9 +387,63 @@
     			 0:00	-	GMT
     
     # Mauritius
    +
    +# From Steffen Thorsen (2008-06-25):
    +# Mauritius plans to observe DST from 2008-11-01 to 2009-03-31 on a trial
    +# basis....
    +# It seems that Mauritius observed daylight saving time from 1982-10-10 to 
    +# 1983-03-20 as well, but that was not successful....
    +# http://www.timeanddate.com/news/time/mauritius-daylight-saving-time.html
    +
    +# From Alex Krivenyshev (2008-06-25):
    +# http://economicdevelopment.gov.mu/portal/site/Mainhomepage/menuitem.a42b24128104d9845dabddd154508a0c/?content_id=0a7cee8b5d69a110VgnVCM1000000a04a8c0RCRD
    +
    +# From Arthur David Olson (2008-06-30):
    +# The www.timeanddate.com article cited by Steffen Thorsen notes that "A
    +# final decision has yet to be made on the times that daylight saving
    +# would begin and end on these dates." As a place holder, use midnight.
    +
    +# From Paul Eggert (2008-06-30):
    +# Follow Thorsen on DST in 1982/1983, instead of Shanks & Pottenger.
    +
    +# From Steffen Thorsen (2008-07-10):
    +# According to
    +# 
    +# http://www.lexpress.mu/display_article.php?news_id=111216
    +# 
    +# (in French), Mauritius will start and end their DST a few days earlier
    +# than previously announced (2008-11-01 to 2009-03-31).  The new start
    +# date is 2008-10-26 at 02:00 and the new end date is 2009-03-27 (no time
    +# given, but it is probably at either 2 or 3 wall clock time).
    +# 
    +# A little strange though, since the article says that they moved the date 
    +# to align itself with Europe and USA which also change time on that date, 
    +# but that means they have not paid attention to what happened in 
    +# USA/Canada last year (DST ends first Sunday in November). I also wonder 
    +# why that they end on a Friday, instead of aligning with Europe which 
    +# changes two days later.
    +
    +# From Alex Krivenyshev (2008-07-11):
    +# Seems that English language article "The revival of daylight saving
    +# time:  Energy conservation?"-# No. 16578 (07/11/2008) was originally
    +# published on Monday, June 30, 2008...
    +#
    +# I guess that article in French "Le gouvernement avance l'introduction
    +# de l'heure d'ete" stating that DST in Mauritius starting on October 26
    +# and ending on March 27, 2009 is the most recent one.
    +# ...
    +# 
    +# http://www.worldtimezone.com/dst_news/dst_news_mauritius02.html
    +# 
    +
    +# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
    +Rule Mauritius	1982	only	-	Oct	10	0:00	1:00	S
    +Rule Mauritius	1983	only	-	Mar	21	0:00	0	-
    +Rule Mauritius	2008	only	-	Oct	26	2:00s	1:00	S
    +Rule Mauritius	2009	only	-	Mar	27	2:00s	0	-
     # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
     Zone Indian/Mauritius	3:50:00 -	LMT	1907		# Port Louis
    -			4:00	-	MUT	# Mauritius Time
    +			4:00 Mauritius	MU%sT	# Mauritius Time
     # Agalega Is, Rodriguez
     # no information; probably like Indian/Mauritius
     
    @@ -400,6 +454,77 @@
     
     # Morocco
     # See the `europe' file for Spanish Morocco (Africa/Ceuta).
    +
    +# From Alex Krivenyshev (2008-05-09):
    +# Here is an article that Morocco plan to introduce Daylight Saving Time between
    +# 1 June, 2008 and 27 September, 2008.
    +#
    +# "... Morocco is to save energy by adjusting its clock during summer so it will
    +# be one hour ahead of GMT between 1 June and 27 September, according to
    +# Communication Minister and Gov ernment Spokesman, Khalid Naciri...."
    +#
    +# 
    +# http://www.worldtimezone.net/dst_news/dst_news_morocco01.html
    +# 
    +# OR
    +# 
    +# http://en.afrik.com/news11892.html
    +# 
    +
    +# From Alex Krivenyshev (2008-05-09):
    +# The Morocco time change can be confirmed on Morocco web site Maghreb Arabe Presse:
    +# 
    +# http://www.map.ma/eng/sections/box3/morocco_shifts_to_da/view
    +# 
    +#
    +# Morocco shifts to daylight time on June 1st through September 27, Govt.
    +# spokesman.
    +
    +# From Patrice Scattolin (2008-05-09):
    +# According to this article:
    +# 
    +# http://www.avmaroc.com/actualite/heure-dete-comment-a127896.html
    +# 
    +# (and republished here:
    +# 
    +# http://www.actu.ma/heure-dete-comment_i127896_0.html
    +# 
    +# )
    +# the changes occurs at midnight:
    +#
    +# saturday night may 31st at midnight (which in french is to be
    +# intrepreted as the night between saturday and sunday)
    +# sunday night the 28th  at midnight
    +#
    +# Seeing that the 28th is monday, I am guessing that she intends to say
    +# the midnight of the 28th which is the midnight between sunday and
    +# monday, which jives with other sources that say that it's inclusive
    +# june1st to sept 27th.
    +#
    +# The decision was taken by decree *2-08-224 *but I can't find the decree
    +# published on the web.
    +#
    +# It's also confirmed here:
    +# 
    +# http://www.maroc.ma/NR/exeres/FACF141F-D910-44B0-B7FA-6E03733425D1.htm
    +# 
    +# on a government portal as being  between june 1st and sept 27th (not yet
    +# posted in english).
    +#
    +# The following google query will generate many relevant hits:
    +# 
    +# http://www.google.com/search?hl=en&q=Conseil+de+gouvernement+maroc+heure+avance&btnG=Search
    +# 
    +
    +# From Alex Krivenyshev (2008-05-09):
    +# Is Western Sahara (part which administrated by Morocco) going to follow
    +# Morocco DST changes?  Any information?  What about other part of
    +# Western Sahara - under administration of POLISARIO Front (also named
    +# SADR Saharawi Arab Democratic Republic)?
    +
    +# From Arthur David Olson (2008-05-09):
    +# XXX--guess that it is only Morocco for now; guess only 2008 for now.
    +
     # RULE	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
     Rule	Morocco	1939	only	-	Sep	12	 0:00	1:00	S
     Rule	Morocco	1939	only	-	Nov	19	 0:00	0	-
    @@ -416,11 +541,13 @@
     Rule	Morocco	1977	only	-	Sep	28	 0:00	0	-
     Rule	Morocco	1978	only	-	Jun	 1	 0:00	1:00	S
     Rule	Morocco	1978	only	-	Aug	 4	 0:00	0	-
    +Rule	Morocco	2008	only	-	Jun	 1	 0:00	1:00	S
    +Rule	Morocco	2008	only	-	Sep	28	 0:00	0	-
     # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
     Zone Africa/Casablanca	-0:30:20 -	LMT	1913 Oct 26
     			 0:00	Morocco	WE%sT	1984 Mar 16
     			 1:00	-	CET	1986
    -			 0:00	-	WET
    +			 0:00	Morocco	WE%sT
     # Western Sahara
     Zone Africa/El_Aaiun	-0:52:48 -	LMT	1934 Jan
     			-1:00	-	WAT	1976 Apr 14
    
    ==== //depot/projects/mpsafetty/share/zoneinfo/asia#2 (text+ko) ====
    
    @@ -1,4 +1,4 @@
    -# @(#)asia	8.18
    +# @(#)asia	8.22
     # 
     
     # This data is by no means authoritative; if you think you know better,
    @@ -229,6 +229,28 @@
     # (could be true), for the moment I am assuming that those two
     # counties are mistakes in the astro.com data.
     
    +# From Paul Eggert (2008-02-11):
    +# I just now checked Google News for western news sources that talk
    +# about China's single time zone, and couldn't find anything before 1986
    +# talking about China being in one time zone.  (That article was: Jim
    +# Mann, "A clumsy embrace for another western custom: China on daylight
    +# time--sort of", Los Angeles Times, 1986-05-05.  By the way, this
    +# article confirms the tz database's data claiming that China began
    +# observing daylight saving time in 1986.
    +#
    +# From Thomas S. Mullaney (2008-02-11):
    +# I think you're combining two subjects that need to treated 
    +# separately: daylight savings (which, you're correct, wasn't 
    +# implemented until the 1980s) and the unified time zone centered near 
    +# Beijing (which was implemented in 1949). Briefly, there was also a 
    +# "Lhasa Time" in Tibet and "Urumqi Time" in Xinjiang. The first was 
    +# ceased, and the second eventually recognized (again, in the 1980s).
    +#
    +# From Paul Eggert (2008-06-30):
    +# There seems to be a good chance China switched to a single time zone in 1949
    +# rather than in 1980 as Shanks & Pottenger have it, but we don't have a
    +# reliable documentary source saying so yet, so for now we still go with
    +# Shanks & Pottenger.
     
     # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
     # Changbai Time ("Long-white Time", Long-white = Heilongjiang area)
    @@ -1376,6 +1398,42 @@
     # They decided not to adopt daylight-saving time....
     # http://www.mongolnews.mn/index.php?module=unuudur&sec=view&id=15742
     
    +# From Deborah Goldsmith (2008-03-30):
    +# We received a bug report claiming that the tz database UTC offset for
    +# Asia/Choibalsan (GMT+09:00) is incorrect, and that it should be GMT
    +# +08:00 instead. Different sources appear to disagree with the tz
    +# database on this, e.g.:
    +#
    +# 
    +# http://www.timeanddate.com/worldclock/city.html?n=1026
    +# 
    +# 
    +# http://www.worldtimeserver.com/current_time_in_MN.aspx
    +# 
    +#
    +# both say GMT+08:00.
    +
    +# From Steffen Thorsen (2008-03-31):
    +# eznis airways, which operates several domestic flights, has a flight
    +# schedule here:
    +# 
    +# http://www.eznis.com/Container.jsp?id=112
    +# 
    +# (click the English flag for English)
    +#
    +# There it appears that flights between Choibalsan and Ulaanbatar arrive
    +# about 1:35 - 1:50 hours later in local clock time, no matter the
    +# direction, while Ulaanbaatar-Khvod takes 2 hours in the Eastern
    +# direction and 3:35 back, which indicates that Ulaanbatar and Khvod are
    +# in different time zones (like we know about), while Choibalsan and
    +# Ulaanbatar are in the same time zone (correction needed).
    +
    +# From Arthur David Olson (2008-05-19):
    +# Assume that Choibalsan is indeed offset by 8:00.
    +# XXX--in the absence of better information, assume that transition
    +# was at the start of 2008-03-31 (the day of Steffen Thorsen's report);
    +# this is almost surely wrong.
    +
     # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
     Rule	Mongol	1983	1984	-	Apr	1	0:00	1:00	S
     Rule	Mongol	1983	only	-	Oct	1	0:00	0	-
    @@ -1411,7 +1469,8 @@
     Zone	Asia/Choibalsan	7:38:00 -	LMT	1905 Aug
     			7:00	-	ULAT	1978
     			8:00	-	ULAT	1983 Apr
    -			9:00	Mongol	CHO%sT	# Choibalsan Time
    +			9:00	Mongol	CHO%sT	2008 Mar 31 # Choibalsan Time
    +			8:00	Mongol	CHO%sT
     
     # Nepal
     # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
    @@ -1461,10 +1520,32 @@
     # The minister told a news conference that the experiment had rather
     # shown 8 per cent higher consumption of electricity.
     
    +# From Alex Krivenyshev (2008-05-15):
    +# 
    +# Here is an article that Pakistan plan to introduce Daylight Saving Time 
    +# on June 1, 2008 for 3 months.
    +# 
    +# "... The federal cabinet on Wednesday announced a new conservation plan to help 
    +# reduce load shedding by approving the closure of commercial centres at 9pm and 
    +# moving clocks forward by one hour for the next three months. 
    +# ...."
    +# 
    +# 
    +# http://www.worldtimezone.net/dst_news/dst_news_pakistan01.html
    +# 
    +# OR
    +# 
    +# http://www.dailytimes.com.pk/default.asp?page=2008%5C05%5C15%5Cstory_15-5-2008_pg1_4
    +# 
    +
    +# From Arthur David Olson (2008-05-19):
    +# XXX--midnight transitions is a guess; 2008 only is a guess.
     
     # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
     Rule Pakistan	2002	only	-	Apr	Sun>=2	0:01	1:00	S
     Rule Pakistan	2002	only	-	Oct	Sun>=2	0:01	0	-
    +Rule Pakistan	2008	only	-	Jun	1	0:00	1:00	S
    +Rule Pakistan	2008	only	-	Sep	1	0:00	0	-
     # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
     Zone	Asia/Karachi	4:28:12 -	LMT	1907
     			5:30	-	IST	1942 Sep
    
    ==== //depot/projects/mpsafetty/share/zoneinfo/australasia#2 (text+ko) ====
    
    @@ -1,4 +1,4 @@
    -# @(#)australasia	8.8
    +# @(#)australasia	8.9
     # 
     
     # This file also includes Pacific islands.
    @@ -1346,7 +1346,7 @@
     # * Tonga will introduce DST in November
     #
     # I was given this link by John Letts:
    -# 
    +# 
     # http://news.bbc.co.uk/hi/english/world/asia-pacific/newsid_424000/424764.stm
     # 
     #
    @@ -1356,7 +1356,7 @@
     # (12 + 1 hour DST).
     
     # From Arthur David Olson (1999-09-20):
    -# According to 
     # http://www.tongaonline.com/news/sept1799.html
     # :
     # "Daylight Savings Time will take effect on Oct. 2 through April 15, 2000
    
    ==== //depot/projects/mpsafetty/share/zoneinfo/europe#2 (text+ko) ====
    
    @@ -1,4 +1,4 @@
    -# @(#)europe	8.12
    +# @(#)europe	8.17
     # 
     
     # This data is by no means authoritative; if you think you know better,
    @@ -457,7 +457,7 @@
     Rule	EU	1981	max	-	Mar	lastSun	 1:00u	1:00	S
     Rule	EU	1996	max	-	Oct	lastSun	 1:00u	0	-
     # The most recent directive covers the years starting in 2002.  See:
    -# 
     # Directive 2000/84/EC of the European Parliament and of the Council
     # of 19 January 2001 on summer-time arrangements.
     # 
    @@ -480,9 +480,48 @@
     Rule	C-Eur	1942	only	-	Nov	 2	 2:00s	0	-
     Rule	C-Eur	1943	only	-	Mar	29	 2:00s	1:00	S
     Rule	C-Eur	1943	only	-	Oct	 4	 2:00s	0	-
    -Rule	C-Eur	1944	only	-	Apr	 3	 2:00s	1:00	S
    +Rule	C-Eur	1944	1945	-	Apr	Mon>=1	 2:00s	1:00	S
     # Whitman gives 1944 Oct 7; go with Shanks & Pottenger.
     Rule	C-Eur	1944	only	-	Oct	 2	 2:00s	0	-
    +# From Jesper Norgaard Welen (2008-07-13):
    +#
    +# I found what is probably a typo of 2:00 which should perhaps be 2:00s
    +# in the C-Eur rule from tz database version 2008d (this part was
    +# corrected in version 2008d). The circumstancial evidence is simply the
    +# tz database itself, as seen below:
    +#
    +# Zone Europe/Paris 0:09:21 - LMT 1891 Mar 15  0:01
    +#    0:00 France WE%sT 1945 Sep 16  3:00
    +#
    +# Zone Europe/Monaco 0:29:32 - LMT 1891 Mar 15
    +#    0:00 France WE%sT 1945 Sep 16 3:00
    +#
    +# Zone Europe/Belgrade 1:22:00 - LMT 1884
    +#    1:00 1:00 CEST 1945 Sep 16  2:00s
    +#
    +# Rule France 1945 only - Sep 16  3:00 0 -
    +# Rule Belgium 1945 only - Sep 16  2:00s 0 -
    +# Rule Neth 1945 only - Sep 16 2:00s 0 -
    +#
    +# The rule line to be changed is:
    +#
    +# Rule C-Eur 1945 only - Sep 16  2:00 0 -
    +#
    +# It seems that Paris, Monaco, Rule France, Rule Belgium all agree on
    +# 2:00 standard time, e.g. 3:00 local time.  However there are no
    +# countries that use C-Eur rules in September 1945, so the only items
    +# affected are apparently these ficticious zones that translates acronyms
    +# CET and MET:
    +#
    +# Zone CET  1:00 C-Eur CE%sT
    +# Zone MET  1:00 C-Eur ME%sT
    +#
    +# It this is right then the corrected version would look like:
    +#
    +# Rule C-Eur 1945 only - Sep 16  2:00s 0 -
    +#
    +# A small step for mankind though 8-)
    +Rule	C-Eur	1945	only	-	Sep	16	 2:00s	0	-
     Rule	C-Eur	1977	1980	-	Apr	Sun>=1	 2:00s	1:00	S
     Rule	C-Eur	1977	only	-	Sep	lastSun	 2:00s	0	-
     Rule	C-Eur	1978	only	-	Oct	 1	 2:00s	0	-
    @@ -725,7 +764,8 @@
     Zone	Europe/Sofia	1:33:16 -	LMT	1880
     			1:56:56	-	IMT	1894 Nov 30 # Istanbul MT?
     			2:00	-	EET	1942 Nov  2  3:00
    -			1:00	C-Eur	CE%sT	1945 Apr  2  3:00
    +			1:00	C-Eur	CE%sT	1945
    +			1:00	-	CET	1945 Apr 2 3:00
     			2:00	-	EET	1979 Mar 31 23:00
     			2:00	Bulg	EE%sT	1982 Sep 26  2:00
     			2:00	C-Eur	EE%sT	1991
    @@ -1093,33 +1133,40 @@
     # [See tz-link.htm for the URL.]
     
     # From Joerg Schilling (2002-10-23):
    -# In 1945, Berlin was switched to Moscow Summer time (GMT+4) by 
    +# In 1945, Berlin was switched to Moscow Summer time (GMT+4) by
    +# 
     # General [Nikolai] Bersarin.
     
     # From Paul Eggert (2003-03-08):
     # 
    +# http://www.parlament-berlin.de/pds-fraktion.nsf/727459127c8b66ee8525662300459099/defc77cb784f180ac1256c2b0030274b/$FILE/bersarint.pdf
    +# 
     # says that Bersarin issued an order to use Moscow time on May 20.
     # However, Moscow did not observe daylight saving in 1945, so
     # this was equivalent to CEMT (GMT+3), not GMT+4.
     
     
     # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
    -Rule	Germany	1945	only	-	Apr	 2	2:00s	1:00	S
    -Rule	Germany	1945	only	-	May	24	2:00	2:00	M # Midsummer
    -Rule	Germany	1945	only	-	Sep	24	3:00	1:00	S
    -Rule	Germany	1945	only	-	Nov	18	2:00s	0	-
     Rule	Germany	1946	only	-	Apr	14	2:00s	1:00	S
     Rule	Germany	1946	only	-	Oct	 7	2:00s	0	-
     Rule	Germany	1947	1949	-	Oct	Sun>=1	2:00s	0	-
    -Rule	Germany	1947	only	-	Apr	 6	2:00s	1:00	S
    +# http://www.ptb.de/de/org/4/44/441/salt.htm says the following transition
    +# occurred at 3:00 MEZ, not the 2:00 MEZ given in Shanks & Pottenger.
    +# Go with the PTB.
    +Rule	Germany	1947	only	-	Apr	 6	3:00s	1:00	S
     Rule	Germany	1947	only	-	May	11	2:00s	2:00	M
     Rule	Germany	1947	only	-	Jun	29	3:00	1:00	S
     Rule	Germany	1948	only	-	Apr	18	2:00s	1:00	S
     Rule	Germany	1949	only	-	Apr	10	2:00s	1:00	S
    +
    +Rule SovietZone	1945	only	-	May	24	2:00	2:00	M # Midsummer
    +Rule SovietZone	1945	only	-	Sep	24	3:00	1:00	S
    +Rule SovietZone	1945	only	-	Nov	18	2:00s	0	-
    +
     # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
     Zone	Europe/Berlin	0:53:28 -	LMT	1893 Apr
    -			1:00	C-Eur	CE%sT	1945 Apr 2 2:00
    +			1:00	C-Eur	CE%sT	1945 May 24 2:00
    +			1:00 SovietZone	CE%sT	1946
     			1:00	Germany	CE%sT	1980
     			1:00	EU	CE%sT
     
    @@ -1196,7 +1243,7 @@
     Zone	Europe/Budapest	1:16:20 -	LMT	1890 Oct
     			1:00	C-Eur	CE%sT	1918
     			1:00	Hungary	CE%sT	1941 Apr  6  2:00
    -			1:00	C-Eur	CE%sT	1945 May  1 23:00
    +			1:00	C-Eur	CE%sT	1945
     			1:00	Hungary	CE%sT	1980 Sep 28  2:00s
     			1:00	EU	CE%sT
    
    >>> TRUNCATED FOR MAIL (1000 lines) <<<
    
    From owner-p4-projects@FreeBSD.ORG  Fri Aug  8 11:15:11 2008
    Return-Path: 
    Delivered-To: p4-projects@freebsd.org
    Received: by hub.freebsd.org (Postfix, from userid 32767)
    	id 81855106567B; Fri,  8 Aug 2008 11:15:11 +0000 (UTC)
    Delivered-To: perforce@freebsd.org
    Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
    	by hub.freebsd.org (Postfix) with ESMTP id 456D01065680
    	for ; Fri,  8 Aug 2008 11:15:11 +0000 (UTC)
    	(envelope-from bb+lists.freebsd.perforce@cyrus.watson.org)
    Received: from repoman.freebsd.org (repoman.freebsd.org
    	[IPv6:2001:4f8:fff6::29])
    	by mx1.freebsd.org (Postfix) with ESMTP id 314468FC1B
    	for ; Fri,  8 Aug 2008 11:15:11 +0000 (UTC)
    	(envelope-from bb+lists.freebsd.perforce@cyrus.watson.org)
    Received: from repoman.freebsd.org (localhost [127.0.0.1])
    	by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m78BFBrJ045360
    	for ; Fri, 8 Aug 2008 11:15:11 GMT
    	(envelope-from bb+lists.freebsd.perforce@cyrus.watson.org)
    Received: (from perforce@localhost)
    	by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m78BFBoB045358
    	for perforce@freebsd.org; Fri, 8 Aug 2008 11:15:11 GMT
    	(envelope-from bb+lists.freebsd.perforce@cyrus.watson.org)
    Date: Fri, 8 Aug 2008 11:15:11 GMT
    Message-Id: <200808081115.m78BFBoB045358@repoman.freebsd.org>
    X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
    	bb+lists.freebsd.perforce@cyrus.watson.org using -f
    From: Robert Watson 
    To: Perforce Change Reviews 
    Cc: 
    Subject: PERFORCE change 146905 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, 08 Aug 2008 11:15:11 -0000
    
    http://perforce.freebsd.org/chv.cgi?CH=146905
    
    Change 146905 by rwatson@rwatson_cinnamon on 2008/08/08 11:15:07
    
    	Update for OpenBSM 1.1 alpha 2.
    
    Affected files ...
    
    .. //depot/projects/trustedbsd/openbsm/configure#39 edit
    .. //depot/projects/trustedbsd/openbsm/configure.ac#41 edit
    
    Differences ...
    
    ==== //depot/projects/trustedbsd/openbsm/configure#39 (xtext) ====
    
    @@ -1,7 +1,7 @@
     #! /bin/sh
    -# From configure.ac P4: //depot/projects/trustedbsd/openbsm/configure.ac#39 .
    +# From configure.ac P4: //depot/projects/trustedbsd/openbsm/configure.ac#40 .
     # Guess values for system-dependent variables and create Makefiles.
    -# Generated by GNU Autoconf 2.61 for OpenBSM 1.1alpha1.
    +# Generated by GNU Autoconf 2.61 for OpenBSM 1.1alpha2.
     #
     # Report bugs to .
     #
    @@ -729,8 +729,8 @@
     # Identity of this package.
     PACKAGE_NAME='OpenBSM'
     PACKAGE_TARNAME='openbsm'
    -PACKAGE_VERSION='1.1alpha1'
    -PACKAGE_STRING='OpenBSM 1.1alpha1'
    +PACKAGE_VERSION='1.1alpha2'
    +PACKAGE_STRING='OpenBSM 1.1alpha2'
     PACKAGE_BUGREPORT='trustedbsd-audit@TrustesdBSD.org'
     
     ac_unique_file="bin/auditreduce/auditreduce.c"
    @@ -1404,7 +1404,7 @@
       # Omit some internal or obsolete options to make the list less imposing.
       # This message is too long to be a string in the A/UX 3.1 sh.
       cat <<_ACEOF
    -\`configure' configures OpenBSM 1.1alpha1 to adapt to many kinds of systems.
    +\`configure' configures OpenBSM 1.1alpha2 to adapt to many kinds of systems.
     
     Usage: $0 [OPTION]... [VAR=VALUE]...
     
    @@ -1474,7 +1474,7 @@
     
     if test -n "$ac_init_help"; then
       case $ac_init_help in
    -     short | recursive ) echo "Configuration of OpenBSM 1.1alpha1:";;
    +     short | recursive ) echo "Configuration of OpenBSM 1.1alpha2:";;
        esac
       cat <<\_ACEOF
     
    @@ -1580,7 +1580,7 @@
     test -n "$ac_init_help" && exit $ac_status
     if $ac_init_version; then
       cat <<\_ACEOF
    -OpenBSM configure 1.1alpha1
    +OpenBSM configure 1.1alpha2
     generated by GNU Autoconf 2.61
     
     Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
    @@ -1594,7 +1594,7 @@
     This file contains any messages produced by compilers while
     running configure, to aid debugging if configure makes a mistake.
     
    -It was created by OpenBSM $as_me 1.1alpha1, which was
    +It was created by OpenBSM $as_me 1.1alpha2, which was
     generated by GNU Autoconf 2.61.  Invocation command line was
     
       $ $0 $@
    @@ -19076,7 +19076,7 @@
     
     # Define the identity of the package.
      PACKAGE=OpenBSM
    - VERSION=1.1alpha1
    + VERSION=1.1alpha2
     
     
     cat >>confdefs.h <<_ACEOF
    @@ -23521,7 +23521,7 @@
     # report actual input values of CONFIG_FILES etc. instead of their
     # values after options handling.
     ac_log="
    -This file was extended by OpenBSM $as_me 1.1alpha1, which was
    +This file was extended by OpenBSM $as_me 1.1alpha2, which was
     generated by GNU Autoconf 2.61.  Invocation command line was
     
       CONFIG_FILES    = $CONFIG_FILES
    @@ -23574,7 +23574,7 @@
     _ACEOF
     cat >>$CONFIG_STATUS <<_ACEOF
     ac_cs_version="\\
    -OpenBSM config.status 1.1alpha1
    +OpenBSM config.status 1.1alpha2
     configured by $0, generated by GNU Autoconf 2.61,
       with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
     
    
    ==== //depot/projects/trustedbsd/openbsm/configure.ac#41 (text+ko) ====
    
    @@ -2,8 +2,8 @@
     # Process this file with autoconf to produce a configure script.
     
     AC_PREREQ(2.59)
    -AC_INIT([OpenBSM], [1.1alpha1], [trustedbsd-audit@TrustesdBSD.org],[openbsm])
    -AC_REVISION([$P4: //depot/projects/trustedbsd/openbsm/configure.ac#40 $])
    +AC_INIT([OpenBSM], [1.1alpha2], [trustedbsd-audit@TrustesdBSD.org],[openbsm])
    +AC_REVISION([$P4: //depot/projects/trustedbsd/openbsm/configure.ac#41 $])
     AC_CONFIG_SRCDIR([bin/auditreduce/auditreduce.c])
     AC_CONFIG_AUX_DIR(config)
     AC_CONFIG_HEADER([config/config.h])
    
    From owner-p4-projects@FreeBSD.ORG  Fri Aug  8 11:16:12 2008
    Return-Path: 
    Delivered-To: p4-projects@freebsd.org
    Received: by hub.freebsd.org (Postfix, from userid 32767)
    	id 935661065671; Fri,  8 Aug 2008 11:16:12 +0000 (UTC)
    Delivered-To: perforce@freebsd.org
    Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
    	by hub.freebsd.org (Postfix) with ESMTP id 56E3E106567C
    	for ; Fri,  8 Aug 2008 11:16:12 +0000 (UTC)
    	(envelope-from bb+lists.freebsd.perforce@cyrus.watson.org)
    Received: from repoman.freebsd.org (repoman.freebsd.org
    	[IPv6:2001:4f8:fff6::29])
    	by mx1.freebsd.org (Postfix) with ESMTP id 428DD8FC20
    	for ; Fri,  8 Aug 2008 11:16:12 +0000 (UTC)
    	(envelope-from bb+lists.freebsd.perforce@cyrus.watson.org)
    Received: from repoman.freebsd.org (localhost [127.0.0.1])
    	by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m78BGCRn045460
    	for ; Fri, 8 Aug 2008 11:16:12 GMT
    	(envelope-from bb+lists.freebsd.perforce@cyrus.watson.org)
    Received: (from perforce@localhost)
    	by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m78BGCZe045458
    	for perforce@freebsd.org; Fri, 8 Aug 2008 11:16:12 GMT
    	(envelope-from bb+lists.freebsd.perforce@cyrus.watson.org)
    Date: Fri, 8 Aug 2008 11:16:12 GMT
    Message-Id: <200808081116.m78BGCZe045458@repoman.freebsd.org>
    X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
    	bb+lists.freebsd.perforce@cyrus.watson.org using -f
    From: Robert Watson 
    To: Perforce Change Reviews 
    Cc: 
    Subject: PERFORCE change 146906 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, 08 Aug 2008 11:16:12 -0000
    
    http://perforce.freebsd.org/chv.cgi?CH=146906
    
    Change 146906 by rwatson@rwatson_cinnamon on 2008/08/08 11:15:47
    
    	Regenerate, must have been missed at some point in the past.
    
    Affected files ...
    
    .. //depot/projects/trustedbsd/openbsm/test/Makefile.in#5 edit
    
    Differences ...
    
    ==== //depot/projects/trustedbsd/openbsm/test/Makefile.in#5 (text+ko) ====
    
    @@ -1,6 +1,488 @@
    +# Makefile.in generated by automake 1.10 from Makefile.am.
    +# @configure_input@
    +
    +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
    +# 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
    +# This Makefile.in is free software; the Free Software Foundation
    +# gives unlimited permission to copy and/or distribute it,
    +# with or without modifications, as long as this notice is preserved.
    +
    +# This program is distributed in the hope that it will be useful,
    +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
    +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
    +# PARTICULAR PURPOSE.
    +
    +@SET_MAKE@
    +
     #
    -# $P4: //depot/projects/trustedbsd/openbsm/test/Makefile.in#4 $
    +# $P4: //depot/projects/trustedbsd/openbsm/test/Makefile.in#5 $
     #
    +VPATH = @srcdir@
    +pkgdatadir = $(datadir)/@PACKAGE@
    +pkglibdir = $(libdir)/@PACKAGE@
    +pkgincludedir = $(includedir)/@PACKAGE@
    +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
    +install_sh_DATA = $(install_sh) -c -m 644
    +install_sh_PROGRAM = $(install_sh) -c
    +install_sh_SCRIPT = $(install_sh) -c
    +INSTALL_HEADER = $(INSTALL_DATA)
    +transform = $(program_transform_name)
    +NORMAL_INSTALL = :
    +PRE_INSTALL = :
    +POST_INSTALL = :
    +NORMAL_UNINSTALL = :
    +PRE_UNINSTALL = :
    +POST_UNINSTALL = :
    +build_triplet = @build@
    +host_triplet = @host@
    +subdir = test
    +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
    +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    +am__aclocal_m4_deps = $(top_srcdir)/configure.ac
    +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    +	$(ACLOCAL_M4)
    +mkinstalldirs = $(install_sh) -d
    +CONFIG_HEADER = $(top_builddir)/config/config.h
    +CONFIG_CLEAN_FILES =
    +SOURCES =
    +DIST_SOURCES =
    +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
    +	html-recursive info-recursive install-data-recursive \
    +	install-dvi-recursive install-exec-recursive \
    +	install-html-recursive install-info-recursive \
    +	install-pdf-recursive install-ps-recursive install-recursive \
    +	installcheck-recursive installdirs-recursive pdf-recursive \
    +	ps-recursive uninstall-recursive
    +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
    +  distclean-recursive maintainer-clean-recursive
    +ETAGS = etags
    +CTAGS = ctags
    +DIST_SUBDIRS = $(SUBDIRS)
    +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
    +ACLOCAL = @ACLOCAL@
    +AMTAR = @AMTAR@
    +AR = @AR@
    +AUTOCONF = @AUTOCONF@
    +AUTOHEADER = @AUTOHEADER@
    +AUTOMAKE = @AUTOMAKE@
    +AWK = @AWK@
    +CC = @CC@
    +CCDEPMODE = @CCDEPMODE@
    +CFLAGS = @CFLAGS@
    +CPP = @CPP@
    +CPPFLAGS = @CPPFLAGS@
    +CXX = @CXX@
    +CXXCPP = @CXXCPP@
    +CXXDEPMODE = @CXXDEPMODE@
    +CXXFLAGS = @CXXFLAGS@
    +CYGPATH_W = @CYGPATH_W@
    +DEFS = @DEFS@
    +DEPDIR = @DEPDIR@
    +ECHO = @ECHO@
    +ECHO_C = @ECHO_C@
    +ECHO_N = @ECHO_N@
    +ECHO_T = @ECHO_T@
    +EGREP = @EGREP@
    +EXEEXT = @EXEEXT@
    +F77 = @F77@
    +FFLAGS = @FFLAGS@
    +GREP = @GREP@
    +INSTALL = @INSTALL@
    +INSTALL_DATA = @INSTALL_DATA@
    +INSTALL_PROGRAM = @INSTALL_PROGRAM@
    +INSTALL_SCRIPT = @INSTALL_SCRIPT@
    +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
    +LDFLAGS = @LDFLAGS@
    +LIBOBJS = @LIBOBJS@
    +LIBS = @LIBS@
    +LIBTOOL = @LIBTOOL@
    +LN_S = @LN_S@
    +LTLIBOBJS = @LTLIBOBJS@
    +MAINT = @MAINT@
    +MAKEINFO = @MAKEINFO@
    +MIG = @MIG@
    +MKDIR_P = @MKDIR_P@
    +OBJEXT = @OBJEXT@
    +PACKAGE = @PACKAGE@
    +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
    +PACKAGE_NAME = @PACKAGE_NAME@
    +PACKAGE_STRING = @PACKAGE_STRING@
    +PACKAGE_TARNAME = @PACKAGE_TARNAME@
    +PACKAGE_VERSION = @PACKAGE_VERSION@
    +PATH_SEPARATOR = @PATH_SEPARATOR@
    +RANLIB = @RANLIB@
    +SED = @SED@
    +SET_MAKE = @SET_MAKE@
    +SHELL = @SHELL@
    +STRIP = @STRIP@
    +VERSION = @VERSION@
    +abs_builddir = @abs_builddir@
    +abs_srcdir = @abs_srcdir@
    +abs_top_builddir = @abs_top_builddir@
    +abs_top_srcdir = @abs_top_srcdir@
    +ac_ct_CC = @ac_ct_CC@
    +ac_ct_CXX = @ac_ct_CXX@
    +ac_ct_F77 = @ac_ct_F77@
    +am__include = @am__include@
    +am__leading_dot = @am__leading_dot@
    +am__quote = @am__quote@
    +am__tar = @am__tar@
    +am__untar = @am__untar@
    +bindir = @bindir@
    +build = @build@
    +build_alias = @build_alias@
    +build_cpu = @build_cpu@
    +build_os = @build_os@
    +build_vendor = @build_vendor@
    +builddir = @builddir@
    +datadir = @datadir@
    +datarootdir = @datarootdir@
    +docdir = @docdir@
    +dvidir = @dvidir@
    +exec_prefix = @exec_prefix@
    +host = @host@
    +host_alias = @host_alias@
    +host_cpu = @host_cpu@
    +host_os = @host_os@
    +host_vendor = @host_vendor@
    +htmldir = @htmldir@
    +includedir = @includedir@
    +infodir = @infodir@
    +install_sh = @install_sh@
    +libdir = @libdir@
    +libexecdir = @libexecdir@
    +localedir = @localedir@
    +localstatedir = @localstatedir@
    +mandir = @mandir@
    +mkdir_p = @mkdir_p@
    +oldincludedir = @oldincludedir@
    +pdfdir = @pdfdir@
    +prefix = @prefix@
    +program_transform_name = @program_transform_name@
    +psdir = @psdir@
    +sbindir = @sbindir@
    +sharedstatedir = @sharedstatedir@
    +srcdir = @srcdir@
    +sysconfdir = @sysconfdir@
    +target_alias = @target_alias@
    +top_builddir = @top_builddir@
    +top_srcdir = @top_srcdir@
    +SUBDIRS = \
    +	bsm
    +
    +all: all-recursive
    +
    +.SUFFIXES:
    +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
    +	@for dep in $?; do \
    +	  case '$(am__configure_deps)' in \
    +	    *$$dep*) \
    +	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
    +		&& exit 0; \
    +	      exit 1;; \
    +	  esac; \
    +	done; \
    +	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  test/Makefile'; \
    +	cd $(top_srcdir) && \
    +	  $(AUTOMAKE) --foreign  test/Makefile
    +.PRECIOUS: Makefile
    +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
    +	@case '$?' in \
    +	  *config.status*) \
    +	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
    +	  *) \
    +	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
    +	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
    +	esac;
    +
    +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
    +	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
    +
    +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
    +	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
    +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
    +	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
    +
    +mostlyclean-libtool:
    +	-rm -f *.lo
    +
    +clean-libtool:
    +	-rm -rf .libs _libs
    +
    +# This directory's subdirectories are mostly independent; you can cd
    +# into them and run `make' without going through this Makefile.
    +# To change the values of `make' variables: instead of editing Makefiles,
    +# (1) if the variable is set in `config.status', edit `config.status'
    +#     (which will cause the Makefiles to be regenerated when you run `make');
    +# (2) otherwise, pass the desired values on the `make' command line.
    +$(RECURSIVE_TARGETS):
    +	@failcom='exit 1'; \
    +	for f in x $$MAKEFLAGS; do \
    +	  case $$f in \
    +	    *=* | --[!k]*);; \
    +	    *k*) failcom='fail=yes';; \
    +	  esac; \
    +	done; \
    +	dot_seen=no; \
    +	target=`echo $@ | sed s/-recursive//`; \
    +	list='$(SUBDIRS)'; for subdir in $$list; do \
    +	  echo "Making $$target in $$subdir"; \
    +	  if test "$$subdir" = "."; then \
    +	    dot_seen=yes; \
    +	    local_target="$$target-am"; \
    +	  else \
    +	    local_target="$$target"; \
    +	  fi; \
    +	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
    +	  || eval $$failcom; \
    +	done; \
    +	if test "$$dot_seen" = "no"; then \
    +	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
    +	fi; test -z "$$fail"
    +
    +$(RECURSIVE_CLEAN_TARGETS):
    +	@failcom='exit 1'; \
    +	for f in x $$MAKEFLAGS; do \
    +	  case $$f in \
    +	    *=* | --[!k]*);; \
    +	    *k*) failcom='fail=yes';; \
    +	  esac; \
    +	done; \
    +	dot_seen=no; \
    +	case "$@" in \
    +	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
    +	  *) list='$(SUBDIRS)' ;; \
    +	esac; \
    +	rev=''; for subdir in $$list; do \
    +	  if test "$$subdir" = "."; then :; else \
    +	    rev="$$subdir $$rev"; \
    +	  fi; \
    +	done; \
    +	rev="$$rev ."; \
    +	target=`echo $@ | sed s/-recursive//`; \
    +	for subdir in $$rev; do \
    +	  echo "Making $$target in $$subdir"; \
    +	  if test "$$subdir" = "."; then \
    +	    local_target="$$target-am"; \
    +	  else \
    +	    local_target="$$target"; \
    +	  fi; \
    +	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
    +	  || eval $$failcom; \
    +	done && test -z "$$fail"
    +tags-recursive:
    +	list='$(SUBDIRS)'; for subdir in $$list; do \
    +	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
    +	done
    +ctags-recursive:
    +	list='$(SUBDIRS)'; for subdir in $$list; do \
    +	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
    +	done
    +
    +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
    +	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
    +	unique=`for i in $$list; do \
    +	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
    +	  done | \
    +	  $(AWK) '    { files[$$0] = 1; } \
    +	       END { for (i in files) print i; }'`; \
    +	mkid -fID $$unique
    +tags: TAGS
    +
    +TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
    +		$(TAGS_FILES) $(LISP)
    +	tags=; \
    +	here=`pwd`; \
    +	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
    +	  include_option=--etags-include; \
    +	  empty_fix=.; \
    +	else \
    +	  include_option=--include; \
    +	  empty_fix=; \
    +	fi; \
    +	list='$(SUBDIRS)'; for subdir in $$list; do \
    +	  if test "$$subdir" = .; then :; else \
    +	    test ! -f $$subdir/TAGS || \
    +	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
    +	  fi; \
    +	done; \
    +	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
    +	unique=`for i in $$list; do \
    +	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
    +	  done | \
    +	  $(AWK) '    { files[$$0] = 1; } \
    +	       END { for (i in files) print i; }'`; \
    +	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
    +	  test -n "$$unique" || unique=$$empty_fix; \
    +	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
    +	    $$tags $$unique; \
    +	fi
    +ctags: CTAGS
    +CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
    +		$(TAGS_FILES) $(LISP)
    +	tags=; \
    +	here=`pwd`; \
    +	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
    +	unique=`for i in $$list; do \
    +	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
    +	  done | \
    +	  $(AWK) '    { files[$$0] = 1; } \
    +	       END { for (i in files) print i; }'`; \
    +	test -z "$(CTAGS_ARGS)$$tags$$unique" \
    +	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
    +	     $$tags $$unique
    +
    +GTAGS:
    +	here=`$(am__cd) $(top_builddir) && pwd` \
    +	  && cd $(top_srcdir) \
    +	  && gtags -i $(GTAGS_ARGS) $$here
    +
    +distclean-tags:
    +	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
    +
    +distdir: $(DISTFILES)
    +	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
    +	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
    +	list='$(DISTFILES)'; \
    +	  dist_files=`for file in $$list; do echo $$file; done | \
    +	  sed -e "s|^$$srcdirstrip/||;t" \
    +	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
    +	case $$dist_files in \
    +	  */*) $(MKDIR_P) `echo "$$dist_files" | \
    +			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
    +			   sort -u` ;; \
    +	esac; \
    +	for file in $$dist_files; do \
    +	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
    +	  if test -d $$d/$$file; then \
    +	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
    +	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
    +	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
    +	    fi; \
    +	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
    +	  else \
    +	    test -f $(distdir)/$$file \
    +	    || cp -p $$d/$$file $(distdir)/$$file \
    +	    || exit 1; \
    +	  fi; \
    +	done
    +	list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
    +	  if test "$$subdir" = .; then :; else \
    +	    test -d "$(distdir)/$$subdir" \
    +	    || $(MKDIR_P) "$(distdir)/$$subdir" \
    +	    || exit 1; \
    +	    distdir=`$(am__cd) $(distdir) && pwd`; \
    +	    top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
    +	    (cd $$subdir && \
    +	      $(MAKE) $(AM_MAKEFLAGS) \
    +	        top_distdir="$$top_distdir" \
    +	        distdir="$$distdir/$$subdir" \
    +		am__remove_distdir=: \
    +		am__skip_length_check=: \
    +	        distdir) \
    +	      || exit 1; \
    +	  fi; \
    +	done
    +check-am: all-am
    +check: check-recursive
    +all-am: Makefile
    +installdirs: installdirs-recursive
    +installdirs-am:
    +install: install-recursive
    +install-exec: install-exec-recursive
    +install-data: install-data-recursive
    +uninstall: uninstall-recursive
    +
    +install-am: all-am
    +	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
    +
    +installcheck: installcheck-recursive
    +install-strip:
    +	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
    +	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
    +	  `test -z '$(STRIP)' || \
    +	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
    +mostlyclean-generic:
    +
    +clean-generic:
    +
    +distclean-generic:
    +	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
    +
    +maintainer-clean-generic:
    +	@echo "This command is intended for maintainers to use"
    +	@echo "it deletes files that may require special tools to rebuild."
    +clean: clean-recursive
    +
    +clean-am: clean-generic clean-libtool mostlyclean-am
    +
    +distclean: distclean-recursive
    +	-rm -f Makefile
    +distclean-am: clean-am distclean-generic distclean-tags
    +
    +dvi: dvi-recursive
    +
    +dvi-am:
    +
    +html: html-recursive
    +
    +info: info-recursive
    +
    +info-am:
    +
    +install-data-am:
    +
    +install-dvi: install-dvi-recursive
    +
    +install-exec-am:
    +
    +install-html: install-html-recursive
    +
    +install-info: install-info-recursive
    +
    +install-man:
    +
    +install-pdf: install-pdf-recursive
    +
    +install-ps: install-ps-recursive
    +
    +installcheck-am:
    +
    +maintainer-clean: maintainer-clean-recursive
    +	-rm -f Makefile
    +maintainer-clean-am: distclean-am maintainer-clean-generic
    +
    +mostlyclean: mostlyclean-recursive
    +
    +mostlyclean-am: mostlyclean-generic mostlyclean-libtool
    +
    +pdf: pdf-recursive
     
    -SUBDIRS =		\
    -	bsm
    +pdf-am:
    +
    +ps: ps-recursive
    +
    +ps-am:
    +
    +uninstall-am:
    +
    +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
    +	install-strip
    +
    +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
    +	all all-am check check-am clean clean-generic clean-libtool \
    +	ctags ctags-recursive distclean distclean-generic \
    +	distclean-libtool distclean-tags distdir dvi dvi-am html \
    +	html-am info info-am install install-am install-data \
    +	install-data-am install-dvi install-dvi-am install-exec \
    +	install-exec-am install-html install-html-am install-info \
    +	install-info-am install-man install-pdf install-pdf-am \
    +	install-ps install-ps-am install-strip installcheck \
    +	installcheck-am installdirs installdirs-am maintainer-clean \
    +	maintainer-clean-generic mostlyclean mostlyclean-generic \
    +	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
    +	uninstall uninstall-am
    +
    +# Tell versions [3.59,3.63) of GNU make to not export all variables.
    +# Otherwise a system limit (for SysV at least) may be exceeded.
    +.NOEXPORT:
    
    From owner-p4-projects@FreeBSD.ORG  Fri Aug  8 11:48:46 2008
    Return-Path: 
    Delivered-To: p4-projects@freebsd.org
    Received: by hub.freebsd.org (Postfix, from userid 32767)
    	id CAC00106566C; Fri,  8 Aug 2008 11:48:45 +0000 (UTC)
    Delivered-To: perforce@FreeBSD.org
    Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
    	by hub.freebsd.org (Postfix) with ESMTP id 8E916106564A
    	for ; Fri,  8 Aug 2008 11:48:45 +0000 (UTC)
    	(envelope-from strauss@FreeBSD.org)
    Received: from repoman.freebsd.org (repoman.freebsd.org
    	[IPv6:2001:4f8:fff6::29])
    	by mx1.freebsd.org (Postfix) with ESMTP id 713D38FC19
    	for ; Fri,  8 Aug 2008 11:48:45 +0000 (UTC)
    	(envelope-from strauss@FreeBSD.org)
    Received: from repoman.freebsd.org (localhost [127.0.0.1])
    	by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m78Bmjef047916
    	for ; Fri, 8 Aug 2008 11:48:45 GMT
    	(envelope-from strauss@FreeBSD.org)
    Received: (from perforce@localhost)
    	by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m78Bmjew047914
    	for perforce@freebsd.org; Fri, 8 Aug 2008 11:48:45 GMT
    	(envelope-from strauss@FreeBSD.org)
    Date: Fri, 8 Aug 2008 11:48:45 GMT
    Message-Id: <200808081148.m78Bmjew047914@repoman.freebsd.org>
    X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
    	strauss@FreeBSD.org using -f
    From: Anselm Strauss 
    To: Perforce Change Reviews 
    Cc: 
    Subject: PERFORCE change 146908 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, 08 Aug 2008 11:48:46 -0000
    
    http://perforce.freebsd.org/chv.cgi?CH=146908
    
    Change 146908 by strauss@strauss_marvelman on 2008/08/08 11:47:58
    
    	- Removed archive error setting when compressor fails
    	- Comment updates
    
    Affected files ...
    
    .. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_write_set_format_zip.c#24 edit
    
    Differences ...
    
    ==== //depot/projects/soc2008/strauss_libarchive/libarchive/archive_write_set_format_zip.c#24 (text+ko) ====
    
    @@ -6,8 +6,8 @@
      *   - No compression support.
      *   - No encryption support.
      *   - No ZIP64 support.
    - *   - Central directory is missing.
      *   - No support for splitting and spanning.
    + *   - Only writes regular file entries.
      * 
      * Note that generally data in ZIP files is little-endian encoded,
      * with some exceptions.
    @@ -198,7 +198,7 @@
     	 *   - compression: Not yet supported (TODO)
     	 *   - timedate: Means standard input (TODO)
     	 *   - crc32, compressed_size, uncompressed_size: written in data descriptor
    -	 *   - extra_length: first used when
    +	 *   - extra_length: not used (TODO)
     	 */
     	memset(&h, 0, sizeof(h));
     	zip_encode(ZIP_SIGNATURE_LOCAL_FILE_HEADER, &h.signature, sizeof(h.signature));
    @@ -212,17 +212,15 @@
     	zip_encode(size, &d->uncompressed_size, sizeof(d->uncompressed_size));
     	
     	ret = (a->compressor.write)(a, &h, sizeof(h));
    -	if (ret != ARCHIVE_OK) {
    -		archive_set_error(&a->archive, EIO, "Can't write local file header");
    +	if (ret != ARCHIVE_OK)
     		return (ARCHIVE_FATAL);
    -	}
    +
     	zip->written_bytes += sizeof(h);
     	
     	ret = (a->compressor.write)(a, path, strlen(path));
    -	if (ret != ARCHIVE_OK) {
    -		archive_set_error(&a->archive, EIO, "Can't write path field");
    +	if (ret != ARCHIVE_OK)
     		return (ARCHIVE_FATAL);
    -	}
    +	
     	zip->written_bytes += strlen(path);
     
     	return (ARCHIVE_OK);
    @@ -241,7 +239,6 @@
     		l->crc32 = crc32(l->crc32, buff, s);
     		return s;
     	} else {
    -		archive_set_error(&a->archive, EIO, "Error while writing ZIP data");
     		return (ret);
     	}
     }
    @@ -259,10 +256,8 @@
     	zip_encode(l->crc32, &d->crc32, sizeof(d->crc32));
     	
     	ret = (a->compressor.write)(a, d, sizeof(*d));
    -	if (ret != ARCHIVE_OK) {
    -		archive_set_error(&a->archive, EIO, "Can't write data descriptor");
    +	if (ret != ARCHIVE_OK)
     		return (ARCHIVE_FATAL);
    -	}
     	
     	zip->written_bytes += sizeof(*d);
     	return (ARCHIVE_OK);
    @@ -314,18 +309,14 @@
     		
     		/* Writing file header. */
     		ret = (a->compressor.write)(a, &h, sizeof(h));
    -		if (ret != ARCHIVE_OK) {
    -			archive_set_error(&a->archive, EIO, "Can't write file header");
    +		if (ret != ARCHIVE_OK)
     			return (ARCHIVE_FATAL);
    -		}
     		zip->written_bytes += sizeof(h);
     		
     		/* Writing filename. */
     		ret = (a->compressor.write)(a, path, strlen(path));
    -		if (ret != ARCHIVE_OK) {
    -			archive_set_error(&a->archive, EIO, "Can't write path field");
    +		if (ret != ARCHIVE_OK)
     			return (ARCHIVE_FATAL);
    -		}
     		zip->written_bytes += strlen(path);
     		
     		l = l->next;
    @@ -343,10 +334,8 @@
     	
     	/* Writing end of central directory. */
     	ret = (a->compressor.write)(a, &end, sizeof(end));
    -	if (ret != ARCHIVE_OK) {
    -		archive_set_error(&a->archive, EIO, "Can't write end of central directory");
    +	if (ret != ARCHIVE_OK)
     		return (ARCHIVE_FATAL);
    -	}
     	zip->written_bytes += sizeof(end);
     	
     	return (ARCHIVE_OK);
    
    From owner-p4-projects@FreeBSD.ORG  Fri Aug  8 15:21:21 2008
    Return-Path: 
    Delivered-To: p4-projects@freebsd.org
    Received: by hub.freebsd.org (Postfix, from userid 32767)
    	id 948161065682; Fri,  8 Aug 2008 15:21:21 +0000 (UTC)
    Delivered-To: perforce@FreeBSD.org
    Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
    	by hub.freebsd.org (Postfix) with ESMTP id 588F01065680
    	for ; Fri,  8 Aug 2008 15:21:21 +0000 (UTC)
    	(envelope-from hselasky@FreeBSD.org)
    Received: from repoman.freebsd.org (repoman.freebsd.org
    	[IPv6:2001:4f8:fff6::29])
    	by mx1.freebsd.org (Postfix) with ESMTP id 46A1F8FC20
    	for ; Fri,  8 Aug 2008 15:21:21 +0000 (UTC)
    	(envelope-from hselasky@FreeBSD.org)
    Received: from repoman.freebsd.org (localhost [127.0.0.1])
    	by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m78FLL7W078495
    	for ; Fri, 8 Aug 2008 15:21:21 GMT
    	(envelope-from hselasky@FreeBSD.org)
    Received: (from perforce@localhost)
    	by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m78FLL0a078493
    	for perforce@freebsd.org; Fri, 8 Aug 2008 15:21:21 GMT
    	(envelope-from hselasky@FreeBSD.org)
    Date: Fri, 8 Aug 2008 15:21:21 GMT
    Message-Id: <200808081521.m78FLL0a078493@repoman.freebsd.org>
    X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
    	hselasky@FreeBSD.org using -f
    From: Hans Petter Selasky 
    To: Perforce Change Reviews 
    Cc: 
    Subject: PERFORCE change 146914 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, 08 Aug 2008 15:21:21 -0000
    
    http://perforce.freebsd.org/chv.cgi?CH=146914
    
    Change 146914 by hselasky@hselasky_laptop001 on 2008/08/08 15:21:17
    
    	
    	Set "subdev" before probe and attach so that "devd" gets
    	the information it needs.
    
    Affected files ...
    
    .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.c#19 edit
    
    Differences ...
    
    ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.c#19 (text+ko) ====
    
    @@ -974,12 +974,17 @@
     		device_set_ivars(uaa->temp_dev, uaa);
     		device_quiet(uaa->temp_dev);
     	}
    -	if (device_probe_and_attach(uaa->temp_dev) == 0) {
    +	/*
    +	 * Set "subdev" before probe and attach so that "devd" gets
    +	 * the information it needs.
    +	 */
    +	iface->subdev = uaa->temp_dev;
    +
    +	if (device_probe_and_attach(iface->subdev) == 0) {
     		/*
     		 * The USB attach arguments are only available during probe
     		 * and attach !
     		 */
    -		iface->subdev = uaa->temp_dev;
     		uaa->temp_dev = NULL;
     		device_set_ivars(iface->subdev, NULL);
     
    @@ -988,6 +993,9 @@
     			device_printf(iface->subdev, "Suspend failed\n");
     		}
     		return (0);		/* success */
    +	} else {
    +		/* No USB driver found */
    +		iface->subdev = NULL;
     	}
     	return (1);			/* failure */
     }
    
    From owner-p4-projects@FreeBSD.ORG  Fri Aug  8 16:09:10 2008
    Return-Path: 
    Delivered-To: p4-projects@freebsd.org
    Received: by hub.freebsd.org (Postfix, from userid 32767)
    	id 28CF21065676; Fri,  8 Aug 2008 16:09:10 +0000 (UTC)
    Delivered-To: perforce@FreeBSD.org
    Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
    	by hub.freebsd.org (Postfix) with ESMTP id DF92C1065683
    	for ; Fri,  8 Aug 2008 16:09:09 +0000 (UTC)
    	(envelope-from strauss@FreeBSD.org)
    Received: from repoman.freebsd.org (repoman.freebsd.org
    	[IPv6:2001:4f8:fff6::29])
    	by mx1.freebsd.org (Postfix) with ESMTP id CD7E38FC19
    	for ; Fri,  8 Aug 2008 16:09:09 +0000 (UTC)
    	(envelope-from strauss@FreeBSD.org)
    Received: from repoman.freebsd.org (localhost [127.0.0.1])
    	by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m78G99Fq085230
    	for ; Fri, 8 Aug 2008 16:09:09 GMT
    	(envelope-from strauss@FreeBSD.org)
    Received: (from perforce@localhost)
    	by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m78G99dS085228
    	for perforce@freebsd.org; Fri, 8 Aug 2008 16:09:09 GMT
    	(envelope-from strauss@FreeBSD.org)
    Date: Fri, 8 Aug 2008 16:09:09 GMT
    Message-Id: <200808081609.m78G99dS085228@repoman.freebsd.org>
    X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
    	strauss@FreeBSD.org using -f
    From: Anselm Strauss 
    To: Perforce Change Reviews 
    Cc: 
    Subject: PERFORCE change 146916 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, 08 Aug 2008 16:09:10 -0000
    
    http://perforce.freebsd.org/chv.cgi?CH=146916
    
    Change 146916 by strauss@strauss_marvelman on 2008/08/08 16:08:59
    
    	Unix to DOS date/time conversion
    
    Affected files ...
    
    .. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_write_set_format_zip.c#25 edit
    
    Differences ...
    
    ==== //depot/projects/soc2008/strauss_libarchive/libarchive/archive_write_set_format_zip.c#25 (text+ko) ====
    
    @@ -50,6 +50,7 @@
     static int archive_write_zip_finish_entry(struct archive_write *);
     static int archive_write_zip_header(struct archive_write *, struct archive_entry *);
     static void zip_encode(uint64_t, void *, size_t);
    +static unsigned int dos_time(const time_t);
     
     struct zip_local_file_header {
     	char signature[4];
    @@ -196,14 +197,14 @@
     	 * The fields this is true for and the reason why are:
     	 * 
     	 *   - compression: Not yet supported (TODO)
    -	 *   - timedate: Means standard input (TODO)
     	 *   - crc32, compressed_size, uncompressed_size: written in data descriptor
     	 *   - extra_length: not used (TODO)
     	 */
     	memset(&h, 0, sizeof(h));
     	zip_encode(ZIP_SIGNATURE_LOCAL_FILE_HEADER, &h.signature, sizeof(h.signature));
     	zip_encode(0x0200, &h.version, sizeof(h.version));
    -	zip_encode(1 << 2, &h.flags, sizeof(h.flags)); /* Flagging bit 3 for using data descriptor. */
    +	zip_encode(0x4, &h.flags, sizeof(h.flags)); /* Flagging bit 3 for using data descriptor. */
    +	zip_encode(dos_time(archive_entry_mtime(entry)), &h.timedate, sizeof(h.timedate));
     	zip_encode(strlen(path), &h.filename_length, sizeof(h.filename_length));
     	
     	/* This will surely change when compression is implemented. */
    @@ -301,11 +302,12 @@
     		/* Formatting individual header fields per entry. */
     		size = archive_entry_size(l->entry);
     		path = archive_entry_pathname(l->entry);
    +		zip_encode(dos_time(archive_entry_mtime(l->entry)), &h.timedate, sizeof(h.timedate));
    +		zip_encode(l->crc32, &h.crc32, sizeof(h.crc32));
     		zip_encode(size, &h.compressed_size, sizeof(h.compressed_size));
     		zip_encode(size, &h.uncompressed_size, sizeof(h.uncompressed_size));
     		zip_encode(strlen(path), &h.filename_length, sizeof(h.filename_length));
     		zip_encode(l->offset, &h.offset, sizeof(h.offset));
    -		zip_encode(l->crc32, &h.crc32, sizeof(h.crc32));
     		
     		/* Writing file header. */
     		ret = (a->compressor.write)(a, &h, sizeof(h));
    @@ -371,3 +373,27 @@
     		p++;
     	}
     }
    +
    +/* Convert into MSDOS-style date/time. */
    +static unsigned int
    +dos_time(const time_t unix_time)
    +{
    +	struct tm *time;
    +	unsigned int dos_time;
    +	
    +	time = gmtime(&unix_time);
    +	
    +	dos_time = 0;
    +	dos_time += ((time->tm_year - 80) & 0x7f) << 9;
    +	dos_time += ((time->tm_mon + 1) & 0x0f) << 5;
    +	dos_time += (time->tm_mday & 0x1f);
    +	dos_time <<= 16;
    +	dos_time += (time->tm_hour & 0x1f) << 11;
    +	dos_time += (time->tm_min & 0x3f) << 5;
    +	dos_time += (time->tm_sec & 0x3e) >> 1; /* Only counting every 2 seconds -> [0..30], right? */
    +	
    +	/* free(&dos_time); */
    +	/* TODO: Getting error when freeing the struct, why? */
    +	
    +	return dos_time;
    +}
    
    From owner-p4-projects@FreeBSD.ORG  Fri Aug  8 16:13:14 2008
    Return-Path: 
    Delivered-To: p4-projects@freebsd.org
    Received: by hub.freebsd.org (Postfix, from userid 32767)
    	id 622321065679; Fri,  8 Aug 2008 16:13:14 +0000 (UTC)
    Delivered-To: perforce@FreeBSD.org
    Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
    	by hub.freebsd.org (Postfix) with ESMTP id 25C8B1065670
    	for ; Fri,  8 Aug 2008 16:13:14 +0000 (UTC)
    	(envelope-from strauss@FreeBSD.org)
    Received: from repoman.freebsd.org (repoman.freebsd.org
    	[IPv6:2001:4f8:fff6::29])
    	by mx1.freebsd.org (Postfix) with ESMTP id 143178FC1D
    	for ; Fri,  8 Aug 2008 16:13:14 +0000 (UTC)
    	(envelope-from strauss@FreeBSD.org)
    Received: from repoman.freebsd.org (localhost [127.0.0.1])
    	by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m78GDDTA085592
    	for ; Fri, 8 Aug 2008 16:13:13 GMT
    	(envelope-from strauss@FreeBSD.org)
    Received: (from perforce@localhost)
    	by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m78GDDEJ085590
    	for perforce@freebsd.org; Fri, 8 Aug 2008 16:13:13 GMT
    	(envelope-from strauss@FreeBSD.org)
    Date: Fri, 8 Aug 2008 16:13:13 GMT
    Message-Id: <200808081613.m78GDDEJ085590@repoman.freebsd.org>
    X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
    	strauss@FreeBSD.org using -f
    From: Anselm Strauss 
    To: Perforce Change Reviews 
    Cc: 
    Subject: PERFORCE change 146917 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, 08 Aug 2008 16:13:14 -0000
    
    http://perforce.freebsd.org/chv.cgi?CH=146917
    
    Change 146917 by strauss@strauss_marvelman on 2008/08/08 16:12:43
    
    	Only in comment: freed int instead of pointer (was for testing)
    
    Affected files ...
    
    .. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_write_set_format_zip.c#26 edit
    
    Differences ...
    
    ==== //depot/projects/soc2008/strauss_libarchive/libarchive/archive_write_set_format_zip.c#26 (text+ko) ====
    
    @@ -392,8 +392,8 @@
     	dos_time += (time->tm_min & 0x3f) << 5;
     	dos_time += (time->tm_sec & 0x3e) >> 1; /* Only counting every 2 seconds -> [0..30], right? */
     	
    -	/* free(&dos_time); */
    +	/* free(time); */
     	/* TODO: Getting error when freeing the struct, why? */
     	
     	return dos_time;
    -}+}
    
    From owner-p4-projects@FreeBSD.ORG  Fri Aug  8 19:06:12 2008
    Return-Path: 
    Delivered-To: p4-projects@freebsd.org
    Received: by hub.freebsd.org (Postfix, from userid 32767)
    	id 8A898106567C; Fri,  8 Aug 2008 19:06:12 +0000 (UTC)
    Delivered-To: perforce@FreeBSD.org
    Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
    	by hub.freebsd.org (Postfix) with ESMTP id 57C9B1065679
    	for ; Fri,  8 Aug 2008 19:06:11 +0000 (UTC)
    	(envelope-from pgj@FreeBSD.org)
    Received: from repoman.freebsd.org (repoman.freebsd.org
    	[IPv6:2001:4f8:fff6::29])
    	by mx1.freebsd.org (Postfix) with ESMTP id D3E598FC19
    	for ; Fri,  8 Aug 2008 19:06:10 +0000 (UTC)
    	(envelope-from pgj@FreeBSD.org)
    Received: from repoman.freebsd.org (localhost [127.0.0.1])
    	by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m78J6AL9022487
    	for ; Fri, 8 Aug 2008 19:06:10 GMT
    	(envelope-from pgj@FreeBSD.org)
    Received: (from perforce@localhost)
    	by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m78J6Api022485
    	for perforce@freebsd.org; Fri, 8 Aug 2008 19:06:10 GMT
    	(envelope-from pgj@FreeBSD.org)
    Date: Fri, 8 Aug 2008 19:06:10 GMT
    Message-Id: <200808081906.m78J6Api022485@repoman.freebsd.org>
    X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
    	pgj@FreeBSD.org using -f
    From: Gabor Pali 
    To: Perforce Change Reviews 
    Cc: 
    Subject: PERFORCE change 146929 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, 08 Aug 2008 19:06:12 -0000
    
    http://perforce.freebsd.org/chv.cgi?CH=146929
    
    Change 146929 by pgj@disznohal on 2008/08/08 19:05:42
    
    	Another suggestion for translating "Administration" to Hungarian
    
    Affected files ...
    
    .. //depot/projects/docproj_hu/www/hu/administration.sgml#7 edit
    .. //depot/projects/docproj_hu/www/hu/share/sgml/navibar.l10n.ent#10 edit
    
    Differences ...
    
    ==== //depot/projects/docproj_hu/www/hu/administration.sgml#7 (text+ko) ====
    
    @@ -1,7 +1,7 @@
     
    -
    +
     
      %developers;
     ]>
    
    ==== //depot/projects/docproj_hu/www/hu/share/sgml/navibar.l10n.ent#10 (text+ko) ====
    
    @@ -20,7 +20,7 @@
         
  • Hálózatkezelés
  • Képviselet
  • Marketing
  • -
  • Vezetõség
  • +
  • Szervezeti felépítés
  • Hírek
  • Események
  • Sajtó
  • From owner-p4-projects@FreeBSD.ORG Fri Aug 8 20:58:11 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 489CD1065675; Fri, 8 Aug 2008 20:58:11 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0C7B8106564A for ; Fri, 8 Aug 2008 20:58:11 +0000 (UTC) (envelope-from peter-gmail@wemm.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EE80C8FC22 for ; Fri, 8 Aug 2008 20:58:10 +0000 (UTC) (envelope-from peter-gmail@wemm.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m78KwAGM042173 for ; Fri, 8 Aug 2008 20:58:10 GMT (envelope-from peter-gmail@wemm.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m78KwAoj042171 for perforce@freebsd.org; Fri, 8 Aug 2008 20:58:10 GMT (envelope-from peter-gmail@wemm.org) Date: Fri, 8 Aug 2008 20:58:10 GMT Message-Id: <200808082058.m78KwAoj042171@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter-gmail@wemm.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 146933 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, 08 Aug 2008 20:58:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=146933 Change 146933 by peter@peter_overcee on 2008/08/08 20:58:10 Reduce compile errors from 6 pages to 1 page. This is just the easy part though. No locking or semantics changes yet. Affected files ... .. //depot/projects/mpsafetty/sys/dev/si/si.c#2 edit Differences ... ==== //depot/projects/mpsafetty/sys/dev/si/si.c#2 (text+ko) ==== @@ -44,7 +44,6 @@ #include "opt_compat.h" #include "opt_debug_si.h" #include "opt_eisa.h" -#include "opt_tty.h" #include #include @@ -95,13 +94,13 @@ static void si_command(struct si_port *, int, int); static int si_Sioctl(struct cdev *, u_long, caddr_t, int, struct thread *); static void si_start(struct tty *); -static void si_stop(struct tty *, int); +/* static void si_stop(struct tty *, int); */ static timeout_t si_lstart; -static t_break_t sibreak; -static t_close_t siclose; -static t_modem_t simodem; -static t_open_t siopen; +static tsw_ioctl_t siioctl; +static tsw_close_t siclose; +static tsw_modem_t simodem; +static tsw_open_t siopen; static int siparam(struct tty *, struct termios *); @@ -126,6 +125,12 @@ devclass_t si_devclass; + +struct speedtab { + int sp_speed; /* Speed. */ + int sp_code; /* Code. */ +}; + #ifndef B2000 /* not standard, but the hardware knows it. */ # define B2000 2000 #endif @@ -261,6 +266,30 @@ *d++ = *s++; } +static int +ttspeedtab(int speed, struct speedtab *table) +{ + if (speed == 0) + return (0); /* hangup */ + for ( ; table->sp_speed > 0; table++) + if (table->sp_speed <= speed) /* nearest one, rounded down */ + return (table->sp_code); + return (1); /* 50, min and not hangup */ +} + + +static struct ttydevsw si_tty_class = { + .tsw_flags = TF_INITLOCK|TF_CALLOUT, + .tsw_open = siopen, + .tsw_close = siclose, + .tsw_outwakeup = si_start, + /* .tsw_stop = si_stop */ + .tsw_ioctl = siioctl, + .tsw_param = siparam, + .tsw_modem = simodem, +}; + + /* * Attach the device. Initialize the card. */ @@ -579,17 +608,8 @@ sprintf(pp->sp_name, "si%r%r", unit, (int)(pp - sc->sc_ports)); #endif - tp = pp->sp_tty = ttyalloc(); - tp->t_sc = pp; - tp->t_break = sibreak; - tp->t_close = siclose; - tp->t_modem = simodem; - tp->t_open = siopen; - tp->t_oproc = si_start; - tp->t_param = siparam; - tp->t_stop = si_stop; - ttycreate(tp, TS_CALLOUT, "A%r%r", unit, - (int)(pp - sc->sc_ports)); + tp = pp->sp_tty = tty_alloc(&si_tty_class, pp, NULL); + tty_makedev(tp, NULL, "A%r%r", unit, (int)(pp - sc->sc_ports)); } try_next2: if (modp->sm_next == 0) { @@ -620,7 +640,7 @@ } static int -siopen(struct tty *tp, struct cdev *dev) +siopen(struct tty *tp) { mtx_assert(&Giant, MA_OWNED); @@ -642,24 +662,28 @@ struct si_port *pp; mtx_assert(&Giant, MA_OWNED); - pp = tp->t_sc; + pp = tty_softc(tp); (void) si_command(pp, FCLOSE, SI_WAIT); } -static void -sibreak(struct tty *tp, int sig) +static int +siioctl(struct tty *tp, u_long cmd, caddr_t data, struct thread *td) { struct si_port *pp; mtx_assert(&Giant, MA_OWNED); - pp = tp->t_sc; - if (sig) + pp = tty_softc(tp); + switch (cmd) { + case TIOCSBRK: si_command(pp, SBREAK, SI_WAIT); - else + return (0); + case TIOCCBRK: si_command(pp, EBREAK, SI_WAIT); + return (0); + } + return (0); } - /* * Handle the Specialix ioctls on the control dev. */ @@ -805,7 +829,7 @@ static int siparam(struct tty *tp, struct termios *t) { - struct si_port *pp = tp->t_sc; + struct si_port *pp = tty_softc(tp); volatile struct si_channel *ccbp; int oldspl, cflag, iflag, oflag, lflag; int error = 0; /* shutup gcc */ @@ -981,7 +1005,7 @@ volatile struct si_channel *ccbp; int x; - pp = tp->t_sc; + pp = tty_softc(tp); DPRINT((pp, DBG_ENTRY|DBG_MODEM, "simodem(%x,%x)\n", sigon, sigoff)); mtx_assert(&Giant, MA_OWNED); ccbp = pp->sp_ccb; /* Find channel address */ @@ -1021,15 +1045,18 @@ mtx_assert(&Giant, MA_OWNED); if (hi_ip & IP_DCD) { if (!(pp->sp_last_hi_ip & IP_DCD)) { - DPRINT((pp, DBG_INTR, "modem carr on t_line %d\n", - tp->t_line)); - (void)ttyld_modem(tp, 1); + DPRINT((pp, DBG_INTR, "modem carr on%d\n")); + (void)ttydisc_modem(tp, 1); } } else { if (pp->sp_last_hi_ip & IP_DCD) { DPRINT((pp, DBG_INTR, "modem carr off\n")); - if (ttyld_modem(tp, 0)) +#if 0 /* XXX mpsafetty ttyld_modem used to tell us to shutdown the port or not */ + if (ttydisc_modem(tp, 0)) (void) simodem(tp, 0, SER_DTR | SER_RTS); +#else + ttydisc_modem(tp, 0); +#endif } } pp->sp_last_hi_ip = hi_ip; @@ -1234,7 +1261,7 @@ */ if (ccbp->hi_state & ST_BREAK) { if (isopen) - ttyld_rint(tp, TTY_BI); + ttydisc_rint(tp, 0, TRE_BREAK); ccbp->hi_state &= ~ST_BREAK; /* A Bit iffy this */ DPRINT((pp, DBG_INTR, "si_intr break\n")); } @@ -1323,6 +1350,7 @@ * reasonably fast (usually 40 instructions * plus call overhead). */ +#if 0 if (tp->t_state & TS_CAN_BYPASS_L_RINT) { /* block if the driver supports it */ @@ -1348,6 +1376,7 @@ si_start(tp); } } else { +#endif /* * It'd be nice to not have to go through the * function call overhead for each char here. @@ -1356,10 +1385,12 @@ */ for(x = 0; x < n; x++) { i = si_rxbuf[x]; - if (ttyld_rint(tp, i) == -1) + if (ttydisc_rint(tp, i, 0) == -1) pp->sp_delta_overflows++; } +#if 0 } +#endif goto more_rx; /* try for more until RXbuf is empty */ end_rx: @@ -1399,7 +1430,7 @@ mtx_assert(&Giant, MA_OWNED); qp = &tp->t_outq; - pp = tp->t_sc; + pp = tty_softc(tp); DPRINT((pp, DBG_ENTRY|DBG_START, "si_start(%x) t_state %x sp_state %x t_outq.c_cc %d\n", @@ -1506,6 +1537,7 @@ splx(oldspl); } +#if 0 /* XXX mpsafetty */ /* * Stop output on a line. called at spltty(); */ @@ -1516,7 +1548,7 @@ struct si_port *pp; mtx_assert(&Giant, MA_OWNED); - pp = tp->t_sc; + pp = tty_softc(tp); ccbp = pp->sp_ccb; DPRINT((pp, DBG_ENTRY|DBG_STOP, "si_stop(%x,%x)\n", tp, rw)); @@ -1541,6 +1573,7 @@ } #endif } +#endif /* * Issue a command to the host card CPU. From owner-p4-projects@FreeBSD.ORG Fri Aug 8 21:54:09 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 381F21065677; Fri, 8 Aug 2008 21:54:09 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EE35D1065672; Fri, 8 Aug 2008 21:54:08 +0000 (UTC) (envelope-from ed@hoeg.nl) Received: from palm.hoeg.nl (mx0.hoeg.nl [IPv6:2001:610:652::211]) by mx1.freebsd.org (Postfix) with ESMTP id B0C7B8FC14; Fri, 8 Aug 2008 21:54:08 +0000 (UTC) (envelope-from ed@hoeg.nl) Received: by palm.hoeg.nl (Postfix, from userid 1000) id 17F491CFED; Fri, 8 Aug 2008 23:54:08 +0200 (CEST) Date: Fri, 8 Aug 2008 23:54:08 +0200 From: Ed Schouten To: Peter Wemm Message-ID: <20080808215408.GQ99951@hoeg.nl> References: <200808082058.m78KwAoj042171@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="MrYn40gufhvT+RW4" Content-Disposition: inline In-Reply-To: <200808082058.m78KwAoj042171@repoman.freebsd.org> User-Agent: Mutt/1.5.18 (2008-05-17) Cc: Perforce Change Reviews Subject: Re: PERFORCE change 146933 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, 08 Aug 2008 21:54:09 -0000 --MrYn40gufhvT+RW4 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable * Peter Wemm wrote: > http://perforce.freebsd.org/chv.cgi?CH=3D146933 >=20 > Change 146933 by peter@peter_overcee on 2008/08/08 20:58:10 >=20 > Reduce compile errors from 6 pages to 1 page. This is just > the easy part though. No locking or semantics changes yet. >=20 > Affected files ... >=20 > .. //depot/projects/mpsafetty/sys/dev/si/si.c#2 edit >=20 > Differences ... >=20 > Thank you!=20 --=20 Ed Schouten WWW: http://80386.nl/ --MrYn40gufhvT+RW4 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (FreeBSD) iEYEARECAAYFAkicwIAACgkQ52SDGA2eCwVJ1QCdHKbR0UrGdG11XO8a4dWFj1Ex K+AAmwQ0JHzEvklR0inQF0mheV7iq/i7 =5pkj -----END PGP SIGNATURE----- --MrYn40gufhvT+RW4-- From owner-p4-projects@FreeBSD.ORG Fri Aug 8 22:00:15 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 030CE1065691; Fri, 8 Aug 2008 22:00:15 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B79B4106568B for ; Fri, 8 Aug 2008 22:00:14 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9C5478FC08 for ; Fri, 8 Aug 2008 22:00:14 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m78M0EcB048268 for ; Fri, 8 Aug 2008 22:00:14 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m78M0EhO048266 for perforce@freebsd.org; Fri, 8 Aug 2008 22:00:14 GMT (envelope-from pgj@FreeBSD.org) Date: Fri, 8 Aug 2008 22:00:14 GMT Message-Id: <200808082200.m78M0EhO048266@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 146939 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, 08 Aug 2008 22:00:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=146939 Change 146939 by pgj@disznohal on 2008/08/08 21:59:43 Fix broken links for en_US documentation in the Handbook translation Hinted by: gabor Affected files ... .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/advanced-networking/chapter.sgml#9 edit .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/bibliography/chapter.sgml#4 edit .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/config/chapter.sgml#9 edit .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/eresources/chapter.sgml#11 edit .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/install/chapter.sgml#6 edit .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/introduction/chapter.sgml#6 edit .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/mirrors/chapter.sgml#8 edit .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/ports/chapter.sgml#4 edit .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/serialcomms/chapter.sgml#8 edit Differences ... ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/advanced-networking/chapter.sgml#9 (text+ko) ==== @@ -5895,7 +5895,7 @@ mûködésének részleteit valamint az aszinkron és szinkron soros portok közti különbségeket a &os; soros + url="&url.articles.serial-uart.en;/index.html">&os; soros hardverekrõl szóló cikkében olvashatjuk. ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/bibliography/chapter.sgml#4 (text+ko) ==== @@ -438,7 +438,7 @@ ISBN 0-201-54979-4 (A könyv 2. fejezete elérhetõ - online + online a &os; Dokumentációs Projekt részeként, valamint ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/config/chapter.sgml#9 (text+ko) ==== @@ -931,7 +931,7 @@ megváltozott, majd ennek megfelelõen neki is lát a módosított változat használatának. Errõl a + url="&url.books.faq.en;/admin.html#ROOT-NOT-FOUND-CRON-ERRORS">a GYIK-ban (angolul) többet is megtudhatunk. @@ -1208,7 +1208,7 @@ Ha szeretnénk saját rc.d szkripteket írni vagy javítani a már meglevõeken, akkor ez a cikk (angolul) + url="&url.articles.rc-scripting.en;">a cikk (angolul) segítségünkre lehet. ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/eresources/chapter.sgml#11 (text+ko) ==== @@ -80,14 +80,14 @@ Ha nem tudjuk eldönteni, hogy pontosan melyik listát is kellene megcímeznünk kérdésünkkel, olvassuk el a Hogyan kapjunk + url="&url.articles.freebsd-questions.en;">Hogyan kapjunk értékelhetõ választ a &os;-questions levelezési listáról címû leírást (angolul). Mielõtt akármelyik listára is levelet küldenénk, olvassuk el a Levelezési + url="&url.articles.mailing-list-faq.en;">Levelezési listák Gyakran Ismételt Kérdéseit (angolul), amivel elkerülhetjük a gyakran feltett kérdések ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/install/chapter.sgml#6 (text+ko) ==== @@ -6626,7 +6626,7 @@ Ha kíváncsiak vagyunk egy saját &os; kiadás elkészítésére, olvassuk el a kiadások + url="&url.articles.releng.en;">kiadások szervezésérõl szóló cikket (angolul). @@ -7029,7 +7029,7 @@ terminálemulációt nyújt. Ezzel kapcsolatban olvassuk el a kézikönyv és a GYIK + url="&url.books.faq.en;/ppp.html">GYIK idevágó részeit. Ha gondjaink akadnának, a naplózás a set log local ... parancs kiadásával ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/introduction/chapter.sgml#6 (text+ko) ==== @@ -77,8 +77,8 @@ hozzájárulni a Projekt fejlõdéséhez (forráskód, hardver vagy pénz), olvassuk el a Hozzájárulás - a &os;-hez c. cikket (angolul). + url="&url.articles.contributing.en;/index.html">Hozzájárulás + a &os;-hez címû cikket (angolul). Mire képes a &os;? @@ -980,7 +980,7 @@ többszáznyi segítségbõl építkezik, ahogy az látható is a résztvevõink + url="&url.articles.contributors.en;/article.html">résztvevõink listáján. A &os; fejlesztési infrastruktúrája lehetõvé teszi, hogy ez a többszáznyi résztvevõ az interneten @@ -1098,7 +1098,7 @@ A &os; fejlesztõk teljes felsorolása és a hozzájuk tartozó területek megtalálhatóak A + url="&url.articles.contributors.en;/article.html">A résztvevõk listjában. @@ -1140,7 +1140,7 @@ ben olvashatunk. A &os; + url="&url.articles.contributors.en;/article.html">A &os; résztvevõinek listája hosszú és még most is növekszik; miért nem ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/mirrors/chapter.sgml#8 (text+ko) ==== @@ -1974,7 +1974,7 @@ állományt a portfa egy része alapján nem készíthetjük el. Errõl bõvebben lásd a + url="&url.books.faq.en;/applications.html#MAKE-INDEX"> GYIK-ot. @@ -3565,7 +3565,7 @@ részleteiben a kiadásokat összefoglaló lapról és a - + kiadások építésérõl szóló cikkbõl tájékozódhatunk. Az &os; + fel a &os; porterek kézikönyvét. A port ugyan tartalmazza a forráskód @@ -2100,7 +2100,7 @@ Némely portokat nem egyedülálló személyek tartanak karban, hanem egy + url="&url.articles.mailing-list-faq.en;/article.html"> levelezési lista. A legtöbbjük neve, ha nem is mindé, nagyjából ilyen alakú: &os;-s + url="&url.articles.problem-reports.en;/article.html">&os;-s hibajelentések írása címû cikket). Javítsuk meg mi magunk! A porterek + url="&url.books.porters-handbook.en;/index.html">porterek kézikönyve részletesen taglalja a portok belsõ felépítését, így onnan ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/serialcomms/chapter.sgml#8 (text+ko) ==== @@ -3159,7 +3159,7 @@ nyomkövetéséhez tudjuk használni. A távoli nyomkövetésrõl a + url="&url.books.developers-handbook.en;/index.html"> fejlesztõk kézikönyvében olvastunk bõvebben. From owner-p4-projects@FreeBSD.ORG Fri Aug 8 22:03:18 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2E2C81065674; Fri, 8 Aug 2008 22:03:18 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E62C1106567A for ; Fri, 8 Aug 2008 22:03:17 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D45BC8FC1D for ; Fri, 8 Aug 2008 22:03:17 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m78M3HVK049568 for ; Fri, 8 Aug 2008 22:03:17 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m78M3Hgn049566 for perforce@freebsd.org; Fri, 8 Aug 2008 22:03:17 GMT (envelope-from pgj@FreeBSD.org) Date: Fri, 8 Aug 2008 22:03:17 GMT Message-Id: <200808082203.m78M3Hgn049566@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 146940 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, 08 Aug 2008 22:03:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=146940 Change 146940 by pgj@disznohal on 2008/08/08 22:02:50 Refine translation of a.doc Submitted by: gabor Affected files ... .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/share/sgml/mailing-lists.ent#12 edit Differences ... ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/share/sgml/mailing-lists.ent#12 (text+ko) ==== @@ -148,7 +148,7 @@ -FreeBSD documentation project levelezési lista"> +&os; Dokumentációs Projekt levelezési lista"> freebsd-doc"> From owner-p4-projects@FreeBSD.ORG Fri Aug 8 22:46:02 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 059421065677; Fri, 8 Aug 2008 22:46:02 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BACB31065682 for ; Fri, 8 Aug 2008 22:46:01 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A6BD08FC16 for ; Fri, 8 Aug 2008 22:46:01 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m78Mk1qX057446 for ; Fri, 8 Aug 2008 22:46:01 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m78Mk1iY057444 for perforce@freebsd.org; Fri, 8 Aug 2008 22:46:01 GMT (envelope-from pgj@FreeBSD.org) Date: Fri, 8 Aug 2008 22:46:01 GMT Message-Id: <200808082246.m78Mk1iY057444@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 146943 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, 08 Aug 2008 22:46:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=146943 Change 146943 by pgj@disznohal on 2008/08/08 22:45:40 Fix typos, mistakes in the translation of FAQ (first two chapters) Submitted by: gabor Affected files ... .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/faq/book.sgml#13 edit Differences ... ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/faq/book.sgml#13 (text+ko) ==== @@ -3,9 +3,7 @@ %books.ent; - - - + ]> @@ -498,9 +498,9 @@ és egy ideiglenes probléma között, akkor nem javasoljuk a &os.current; használatát. Ez a fejlesztési vonal - nagyon gyorsan fejlõdik és gyakran naponta - többször is lefordíthatatlan - állapotba kerül. A &os.current; változat + nagyon gyorsan fejlõdik és néha + lefordíthatatlan állapotba kerül. A + &os.current; változat használóitól elvárjuk, hogy képesek legyenek felmérni a felbukkanó problémákat, és közülük @@ -837,14 +837,7 @@ dokumentációval rendelkezik, amely a következõ linkrõl érhetõ el: . - Ugyanezek a dokumentumok csomagként is - elérhetõek, amelyeket aztán - könnyedén telepíteni tudunk a &os; - rendszerünkre. A dokumentációs csomagok - részletesebb bemutatását a - következõ bekezdésekben olvashatjuk. - - Ezek mellett a GYIK végén szereplõ, valamint a kézikönyvben található en_US.ISO8859-1 - Amerikai angol + Angol (Egyesült + Államok) bn_BD.ISO10646-1 - Bengáli (bangladesi) + Bengáli vagy bangla + (Banglades) @@ -920,7 +915,8 @@ de_DE.ISO8859-1 - Német + Német + (Németország) @@ -931,33 +927,33 @@ es_ES.ISO8859-1 - Spanyol + Spanyol (Spanyolország) fr_FR.ISO8859-1 - Francia + Francia (Franciaország) hu_HU.ISO8859-2 - Magyar + Magyar (Magyarország) it_IT.ISO8859-15 - Olasz + Olasz (Olaszország) ja_JP.eucJP - Japán (EUC + Japán (Japán, EUC kódolás) mn_MN.UTF-8 - Mongol (UTF-8 + Mongol (Mongólia, UTF-8 kódolás) @@ -983,7 +979,7 @@ ru_RU.KOI8-R - Orosz (KOI8-R + Orosz (Oroszország, KOI8-R kódolás) @@ -1001,13 +997,14 @@ zh_CN.GB2312 Egyszerûsített kínai - (GB2312 kódolás) + (Kína, GB2312 + kódolás) zh_TW.Big5 - Hagyományos kínai (Big5 - kódolás) + Hagyományos kínai (Tajvan, + Big5 kódolás) @@ -1086,20 +1083,8 @@ rtf - A Microsoft Rich Text formátuma - Amikor egy ilyen dokumentumot - betöltünk a Wordbe, akkor az - oldalszámok maguktól nem - frissülnek. Ehhez a dokumentum - betöltése után nyomjuk le - a CTRLA, - CTRLEND, - F9 - billentyûket. - - + A Microsoft Rich Text + formátuma @@ -1110,6 +1095,18 @@ + + + Amikor egy ilyen dokumentumot betöltünk + a Wordbe, akkor az oldalszámok maguktól + nem frissülnek. Ehhez a dokumentum + betöltése után nyomjuk le a + CtrlA, + CtrlEnd, + F9 billentyûket. + @@ -1160,19 +1157,20 @@ zip - A Zip formátum. &os; alatt ezt - úgy tudjuk - kitömöríteni, ha + A zip + formátum. &os; alatt ezt úgy + tudjuk kitömöríteni, ha elõször telepítjük a archivers/unzip + role="package">archivers/unzip portot. bz2 - A BZip2 formátum. Nem olyan - elterjedt, mint a Zip, de + A bzip2 + formátum. Nem olyan elterjedt, mint a + zip, de általában kisebb méretû állományokat @@ -1180,7 +1178,7 @@ állományokat akkor tudunk kitömöríteni, ha telepítjük a archivers/bzip2 + role="package">archivers/bzip2 portot. @@ -1188,7 +1186,7 @@ Ennek megfelelõen tehát a - kézikönyv BZip2-vel + kézikönyv bzip2-vel tömörített &postscript; változata a handbook/ @@ -1312,8 +1310,8 @@ A Freenode hálózaton található - ##FreeBSD egy közel konstans 300 - fõs csatorna, ahol bármilyen + ##FreeBSD csatornán mindig + sokan vannak, itt bármilyen témában kérhetünk segítséget. A beszélgetések idõnként ugyan kifutnak a szigorú @@ -1438,6 +1436,14 @@ url="http://www.freebsdmall.com/">honlapjunkon tudhatunk meg többet. + A BSD Certification Group, Inc. DragonFly BSD, + &os;, NetBSD és OpenBSD rendszerekhez ad + rendszergazdai képesítéseket. + Amennyiben érdekel minket, látogassunk el a + honlapjukra. + + Kérünk minden olyan további szervezetet, amely tréninget vagy támogatást kíván nyújtani @@ -5190,7 +5196,7 @@ - + Miért árasztják el calcru: negative runtime vagy calcru: runtime went backwards From owner-p4-projects@FreeBSD.ORG Sat Aug 9 23:56:00 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4B2431065671; Sat, 9 Aug 2008 23:56:00 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0F180106566C for ; Sat, 9 Aug 2008 23:56:00 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id AB4878FC0C for ; Sat, 9 Aug 2008 23:55:59 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m79NtxwM077742 for ; Sat, 9 Aug 2008 23:55:59 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m79NtxDC077740 for perforce@freebsd.org; Sat, 9 Aug 2008 23:55:59 GMT (envelope-from pgj@FreeBSD.org) Date: Sat, 9 Aug 2008 23:55:59 GMT Message-Id: <200808092355.m79NtxDC077740@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 147024 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, 09 Aug 2008 23:56:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=147024 Change 147024 by pgj@disznohal on 2008/08/09 23:55:34 IFC Affected files ... .. //depot/projects/docproj_hu/doc/en_US.ISO8859-1/share/sgml/authors.ent#11 integrate .. //depot/projects/docproj_hu/www/en/administration.sgml#2 integrate .. //depot/projects/docproj_hu/www/en/cgi/man.cgi#4 integrate .. //depot/projects/docproj_hu/www/share/sgml/news.xml#14 integrate Differences ... ==== //depot/projects/docproj_hu/doc/en_US.ISO8859-1/share/sgml/authors.ent#11 (text+ko) ==== @@ -13,7 +13,7 @@ builds for the other languages, and we will poke fun of you in public. - $FreeBSD: doc/en_US.ISO8859-1/share/sgml/authors.ent,v 1.458 2008/07/23 00:39:25 pgollucci Exp $ + $FreeBSD: doc/en_US.ISO8859-1/share/sgml/authors.ent,v 1.459 2008/08/09 19:21:39 sbruno Exp $ --> aaron@FreeBSD.org"> @@ -922,6 +922,8 @@ sat@FreeBSD.org"> +sbruno@FreeBSD.org"> + scf@FreeBSD.org"> schweikh@FreeBSD.org"> ==== //depot/projects/docproj_hu/www/en/administration.sgml#2 (text+ko) ==== @@ -1,5 +1,5 @@ + %developers; @@ -95,13 +95,13 @@

    FreeBSD Documentation Engineering Team @@ -140,6 +140,7 @@
  • &a.linimon; <linimon@FreeBSD.org>
  • &a.pav; <pav@FreeBSD.org>
  • &a.krion; <krion@FreeBSD.org>
  • +
  • &a.flz; <flz@FreeBSD.org>

  • ==== //depot/projects/docproj_hu/www/en/cgi/man.cgi#4 (text+ko) ==== @@ -34,7 +34,7 @@ # Dual CGI/Plexus mode and new interface by sanders@bsdi.com 9/22/1995 # # $Id: man.cgi,v 1.172 2007/11/28 18:51:29 hrs Exp $ -# $FreeBSD: www/en/cgi/man.cgi,v 1.217 2008/08/03 21:08:13 wosch Exp $ +# $FreeBSD: www/en/cgi/man.cgi,v 1.220 2008/08/07 08:30:32 wosch Exp $ ############################################################################ # !!! man.cgi is stale perl4 code !!! @@ -42,8 +42,8 @@ # run `perltidy -b man.cgi' to indent the code -# Use standard FreeBSD CGI Style if available. Otherwise -# print simple HTML design. +# Use standard FreeBSD CGI Style if available. +# Otherwise print simple HTML design. package cgi_style; use constant HAS_FREEBSD_CGI_STYLE => eval { require "./cgi-style.pl"; }; @@ -381,7 +381,7 @@ 'X11R6.8.2', "$manLocalDir/X11R6.8.2", 'X11R6.9.0', "$manLocalDir/X11R6.9.0", 'X11R7.2', "$manLocalDir/X11R7.2", - 'X11R7.3.2', "$manLocalDir/X11R7.3.2", + 'X11R7.3.2', "$manLocalDir/X11R7.3.2", 'ULTRIX 4.2', "$manLocalDir/ULTRIX-4.2", 'OSF1 V4.0/alpha', "$manLocalDir/OSF1-V4.0-alpha", @@ -478,9 +478,11 @@ # mailto - Author # webmaster - who run this service -$mailto = 'wosch@FreeBSD.org'; -$mailtoURL = 'http://wolfram.schneider.org'; -$mailtoURL = "mailto:$mailto" if !$mailtoURL; +$mailto = 'wosch@FreeBSD.org'; +$mailtoURL = 'http://wolfram.schneider.org'; +$mailtoURL = "mailto:$mailto" if !$mailtoURL; +$full_url = 'http://www.freebsd.org/cgi/man.cgi'; +$want_to_link_to_this_page = 1; &secure_env; @@ -496,6 +498,12 @@ ####################################################################################### sub html_footer { + my %args = @_; + + print +qq{home | help \n} + if !$args{'no_home_link'}; + if (cgi_style::HAS_FREEBSD_CGI_STYLE) { print q{
    }; print &cgi_style::html_footer; @@ -550,14 +558,6 @@ $format = $form{'format'}; $format = 'html' if $format !~ /^(ps|pdf|ascii|latin1)$/; - local ($fform) = &dec($form); - if ( $fform =~ m%^([a-zA-Z_\-\.]+)$% ) { - return &man( $1, '' ); - } - elsif ( $fform =~ m%^([a-zA-Z_\-\.]+)\(([0-9a-zA-Z]+)\)$% ) { - return &man( $1, $2 ); - } - # remove trailing spaces for dumb users $form{'query'} =~ s/\s+$//; $form{'query'} =~ s/^\s+//; @@ -588,6 +588,14 @@ } } + local ($fform) = &dec($form); + if ( $fform =~ m%^([a-zA-Z_\-\.:]+)$% ) { + return &man( $1, '' ); + } + elsif ( $fform =~ m%^([a-zA-Z_\-\.:]+)\(([0-9a-zA-Z]+)\)$% ) { + return &man( $1, $2 ); + } + # download a man hierarchie as gzip'd tar file return &download if ( $apropos > 1 ); @@ -702,11 +710,11 @@ &formquery; local ($mpath) = $manPath{$manpath}; - if ($debug >= 2) { - foreach my $dir (split(/:/, $mpath)) { - my $whatis = $dir . '/whatis'; - warn "$manpath: no whatis file found: $whatis\n" if ! -f $whatis; - } + if ( $debug >= 2 ) { + foreach my $dir ( split( /:/, $mpath ) ) { + my $whatis = $dir . '/whatis'; + warn "$manpath: no whatis file found: $whatis\n" if !-f $whatis; + } } open( APROPOS, "env MANPATH=$mpath $command{'man'} -k . |" ) || do { @@ -751,8 +759,7 @@ my %args = @_; my $name = exists $args{'name'} ? $args{'name'} : 'manpage'; - my $section = - exists $args{'section'} + my $section = exists $args{'section'} && $args{'section'} ne "" ? $args{'section'} : '0'; my $format = exists $args{'format'} ? $args{'format'} : 'unkown'; @@ -1009,7 +1016,7 @@ print; } close(MAN); - print qq{

    \n\n
    \n}; + print qq{
    \n\n
    \n}; for ( $i = 0 ; $i <= $#sect ; $i++ ) { $j = &encode_url( $sect[$i] ); @@ -1020,6 +1027,15 @@ . ( $i < $#sect ? " |\n" : "\n" ); } + if ($want_to_link_to_this_page) { + my $url = qq{$full_url?query=$html_name}; + $url .= qq{&sektion=$html_section} if $html_section != 0; + $url .= qq{&manpath=} . &encode_url($manpath); + + print qq{

    Want to link to this manual page? }; + print qq{Use this URL:
    <
    $url>

    \n}; + } + &html_footer; # Sleep 0.35 seconds to avoid DoS attacs @@ -1222,7 +1238,7 @@ ETX print "
    \n"; - &html_footer; + &html_footer( 'no_home_link' => 1 ); } sub formquery { @@ -1315,7 +1331,7 @@ } local $id = - '$FreeBSD: www/en/cgi/man.cgi,v 1.217 2008/08/03 21:08:13 wosch Exp $'; + '$FreeBSD: www/en/cgi/man.cgi,v 1.220 2008/08/07 08:30:32 wosch Exp $'; return qq{\
     Copyright (c) 1996-2008 Wolfram Schneider
    @@ -1336,12 +1352,13 @@
     HP,
     FreeBSD,
     Minix,
    -Linux Slackware,
    -Linux/de,
     NetBSD,
     OpenBSD,
     Plan 9,
    +Red Hat,
    +Slackware Linux,
     SunOS,
    +SuSE,
     ULTRIX,
     Unix Seventh Edition,
     XFree86,
    @@ -1363,6 +1380,14 @@
     OS vendors
     
     
    +

    Shortcuts for FreeBSD manual pages

    + + + +

    Releases

    Releases and Releases Aliases are information how @@ -1406,11 +1431,7 @@ &http_header("text/html"); print &html_header( "FreeBSD manual page help", $base ) . "

    ", - $www{'head'}, "

    \n" . &faq . qq{\ -
    - -home -}; + $www{'head'}, "\n" . &faq . qq{
    \n}; &html_footer; } ==== //depot/projects/docproj_hu/www/share/sgml/news.xml#14 (text+ko) ==== @@ -20,7 +20,7 @@ - $FreeBSD: www/share/sgml/news.xml,v 1.185 2008/07/31 16:01:39 simon Exp $ + $FreeBSD: www/share/sgml/news.xml,v 1.186 2008/08/06 19:59:21 pgj Exp $ @@ -28,6 +28,20 @@ 2008 + 8 + + + 6 + + +

    Enhanced commit privileges: Gábor Páli + (full doc/www)

    +
    +
    +
    + + 7