From owner-svn-src-projects@FreeBSD.ORG  Sun Jan 10 00:08:26 2010
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id D7EC31065693;
	Sun, 10 Jan 2010 00:08:26 +0000 (UTC)
	(envelope-from brooks@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id C70328FC0C;
	Sun, 10 Jan 2010 00:08:26 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o0A08Q3a057040;
	Sun, 10 Jan 2010 00:08:26 GMT (envelope-from brooks@svn.freebsd.org)
Received: (from brooks@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id o0A08QHP057038;
	Sun, 10 Jan 2010 00:08:26 GMT (envelope-from brooks@svn.freebsd.org)
Message-Id: <201001100008.o0A08QHP057038@svn.freebsd.org>
From: Brooks Davis <brooks@FreeBSD.org>
Date: Sun, 10 Jan 2010 00:08:26 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r201965 - projects/ngroups/sys/boot/forth
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 10 Jan 2010 00:08:26 -0000

Author: brooks
Date: Sun Jan 10 00:08:26 2010
New Revision: 201965
URL: http://svn.freebsd.org/changeset/base/201965

Log:
  Document the kern.ngroups tunable.

Modified:
  projects/ngroups/sys/boot/forth/loader.conf

Modified: projects/ngroups/sys/boot/forth/loader.conf
==============================================================================
--- projects/ngroups/sys/boot/forth/loader.conf	Sat Jan  9 23:50:47 2010	(r201964)
+++ projects/ngroups/sys/boot/forth/loader.conf	Sun Jan 10 00:08:26 2010	(r201965)
@@ -101,6 +101,7 @@ module_path="/boot/modules"	# Set the mo
 #kern.maxusers="32"		# Set size of various static tables
 #kern.nbuf=""			# Set the number of buffer headers
 #kern.ncallout=""		# Set the maximum # of timer events
+#kern.ngroups="1027"		# Set the maximum # of supplemental groups
 #kern.sgrowsiz=""		# Set the amount to grow stack
 #kern.cam.scsi_delay="2000"	# Delay (in ms) before probing SCSI
 #kern.ipc.maxsockets=""		# Set the maximum number of sockets avaliable

From owner-svn-src-projects@FreeBSD.ORG  Sun Jan 10 03:28:25 2010
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 94E9C106568F;
	Sun, 10 Jan 2010 03:28:25 +0000 (UTC) (envelope-from imp@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 6B2458FC17;
	Sun, 10 Jan 2010 03:28:25 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o0A3SPul001750;
	Sun, 10 Jan 2010 03:28:25 GMT (envelope-from imp@svn.freebsd.org)
Received: (from imp@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id o0A3SPH8001749;
	Sun, 10 Jan 2010 03:28:25 GMT (envelope-from imp@svn.freebsd.org)
Message-Id: <201001100328.o0A3SPH8001749@svn.freebsd.org>
From: Warner Losh <imp@FreeBSD.org>
Date: Sun, 10 Jan 2010 03:28:25 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r201971 - projects/mips/sys/mips/octeon1
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 10 Jan 2010 03:28:25 -0000

Author: imp
Date: Sun Jan 10 03:28:25 2010
New Revision: 201971
URL: http://svn.freebsd.org/changeset/base/201971

Log:
  Mirror copy in /head..

Added:
     - copied from r201970, projects/mips/sys/mips/octeon1/
Directory Properties:
  projects/mips/sys/mips/cavium/   (props changed)
Deleted:
  projects/mips/sys/mips/octeon1/

From owner-svn-src-projects@FreeBSD.ORG  Sun Jan 10 05:14:16 2010
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 42424106566B;
	Sun, 10 Jan 2010 05:14:16 +0000 (UTC) (envelope-from imp@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 18FAB8FC14;
	Sun, 10 Jan 2010 05:14:16 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o0A5EFZx025193;
	Sun, 10 Jan 2010 05:14:15 GMT (envelope-from imp@svn.freebsd.org)
Received: (from imp@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id o0A5EFHp025192;
	Sun, 10 Jan 2010 05:14:15 GMT (envelope-from imp@svn.freebsd.org)
Message-Id: <201001100514.o0A5EFHp025192@svn.freebsd.org>
From: Warner Losh <imp@FreeBSD.org>
Date: Sun, 10 Jan 2010 05:14:15 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r201980 - projects/mips/sys/mips/rmi/dev
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 10 Jan 2010 05:14:16 -0000

Author: imp
Date: Sun Jan 10 05:14:15 2010
New Revision: 201980
URL: http://svn.freebsd.org/changeset/base/201980

Log:
  mirror copy in head for less insane diffing...

Added:
     - copied from r201979, projects/mips/sys/dev/rmi/
Directory Properties:
  projects/mips/sys/mips/rmi/dev/   (props changed)

From owner-svn-src-projects@FreeBSD.ORG  Mon Jan 11 10:15:16 2010
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 7F62D106566B;
	Mon, 11 Jan 2010 10:15:16 +0000 (UTC)
	(envelope-from rodrigc@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 6FB6F8FC08;
	Mon, 11 Jan 2010 10:15:16 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o0BAFGXJ025918;
	Mon, 11 Jan 2010 10:15:16 GMT (envelope-from rodrigc@svn.freebsd.org)
Received: (from rodrigc@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id o0BAFGB8025916;
	Mon, 11 Jan 2010 10:15:16 GMT (envelope-from rodrigc@svn.freebsd.org)
Message-Id: <201001111015.o0BAFGB8025916@svn.freebsd.org>
From: Craig Rodrigues <rodrigc@FreeBSD.org>
Date: Mon, 11 Jan 2010 10:15:16 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r202073 - projects/jbuild/usr.bin/make
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Jan 2010 10:15:16 -0000

Author: rodrigc
Date: Mon Jan 11 10:15:16 2010
New Revision: 202073
URL: http://svn.freebsd.org/changeset/base/202073

Log:
  If filemon device cannot be opened, add
  some advice to the error message on possible
  ways to solve the problem.

Modified:
  projects/jbuild/usr.bin/make/job.c

Modified: projects/jbuild/usr.bin/make/job.c
==============================================================================
--- projects/jbuild/usr.bin/make/job.c	Mon Jan 11 10:12:35 2010	(r202072)
+++ projects/jbuild/usr.bin/make/job.c	Mon Jan 11 10:15:16 2010	(r202073)
@@ -667,8 +667,12 @@ filemon_open(Job *job)
 		retry--;
 	}
 
-	if (filemon_fd < 0)
-			err(1, "Could not open filemon device!");
+	if (filemon_fd < 0) {
+		err(1, "Could not open filemon device!\n"
+		    "To address this problem, either:\n\n"
+		    "(1) make sure filemon.ko kernel module is loaded.\n"
+		    "(2) or use '-Q' flag to suppress generation of meta data files\n\n");
+	}
 	if ((mon_fd = mkstemp(mon_fname)) < 0)
 		err(1, "Could not create temporary file!");
 	else if (ioctl(filemon_fd, FILEMON_SET_FD, &mon_fd) < 0)

From owner-svn-src-projects@FreeBSD.ORG  Mon Jan 11 10:16:12 2010
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id D56051065676;
	Mon, 11 Jan 2010 10:16:12 +0000 (UTC)
	(envelope-from rodrigc@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id C637F8FC16;
	Mon, 11 Jan 2010 10:16:12 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o0BAGCkD026158;
	Mon, 11 Jan 2010 10:16:12 GMT (envelope-from rodrigc@svn.freebsd.org)
Received: (from rodrigc@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id o0BAGCIZ026156;
	Mon, 11 Jan 2010 10:16:12 GMT (envelope-from rodrigc@svn.freebsd.org)
Message-Id: <201001111016.o0BAGCIZ026156@svn.freebsd.org>
From: Craig Rodrigues <rodrigc@FreeBSD.org>
Date: Mon, 11 Jan 2010 10:16:12 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r202074 - projects/jbuild/usr.bin/make
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Jan 2010 10:16:12 -0000

Author: rodrigc
Date: Mon Jan 11 10:16:12 2010
New Revision: 202074
URL: http://svn.freebsd.org/changeset/base/202074

Log:
  Add back include of <stdlib.h> after last
  merge from trunk.

Modified:
  projects/jbuild/usr.bin/make/make.c

Modified: projects/jbuild/usr.bin/make/make.c
==============================================================================
--- projects/jbuild/usr.bin/make/make.c	Mon Jan 11 10:15:16 2010	(r202073)
+++ projects/jbuild/usr.bin/make/make.c	Mon Jan 11 10:16:12 2010	(r202074)
@@ -75,6 +75,9 @@ __FBSDID("$FreeBSD$");
 #include <sys/param.h>
 #include <sys/stat.h>
 #include <err.h>
+#ifdef MAKE_IS_BUILD
+#include <stdlib.h>
+#endif
 #include <string.h>
 #include <unistd.h>
 

From owner-svn-src-projects@FreeBSD.ORG  Mon Jan 11 10:30:58 2010
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 4643F106566C;
	Mon, 11 Jan 2010 10:30:58 +0000 (UTC)
	(envelope-from rodrigc@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 365878FC08;
	Mon, 11 Jan 2010 10:30:58 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o0BAUwgR029578;
	Mon, 11 Jan 2010 10:30:58 GMT (envelope-from rodrigc@svn.freebsd.org)
Received: (from rodrigc@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id o0BAUwXX029575;
	Mon, 11 Jan 2010 10:30:58 GMT (envelope-from rodrigc@svn.freebsd.org)
Message-Id: <201001111030.o0BAUwXX029575@svn.freebsd.org>
From: Craig Rodrigues <rodrigc@FreeBSD.org>
Date: Mon, 11 Jan 2010 10:30:58 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r202075 - projects/jbuild/usr.bin/make
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Jan 2010 10:30:58 -0000

Author: rodrigc
Date: Mon Jan 11 10:30:57 2010
New Revision: 202075
URL: http://svn.freebsd.org/changeset/base/202075

Log:
  Add Dir_FindHereOrAbove() function from NetBSD:
  
    revision 1.40
    date: 2004/02/03 19:25:29;  author: chuck;  state: Exp;  lines: +86 -3
    add parent directory search for make as discussed on tech-toolchain.
     - new dir.c function: Dir_FindHereOrAbove:
        Search for a path in the current directory and then all the directories
        above it in turn until the path is found or we reach the root ("/").
  
  Submitted by:   obrien, Simon Gerarty <sjg@NetBSD.org>
  Obtained from:	NetBSD

Modified:
  projects/jbuild/usr.bin/make/dir.c
  projects/jbuild/usr.bin/make/dir.h

Modified: projects/jbuild/usr.bin/make/dir.c
==============================================================================
--- projects/jbuild/usr.bin/make/dir.c	Mon Jan 11 10:16:12 2010	(r202074)
+++ projects/jbuild/usr.bin/make/dir.c	Mon Jan 11 10:30:57 2010	(r202075)
@@ -61,6 +61,10 @@ __FBSDID("$FreeBSD$");
  *			If it exists, the entire path is returned.
  *			Otherwise NULL is returned.
  *
+ *	Dir_FindHereOrAbove Search for a path in the current directory and
+ *			then all the directories above it in turn until
+ *			the path is found or we reach the root ("/").
+ *
  *	Dir_MTime	Return the modification time of a node. The file
  *			is searched for along the default search path.
  *			The path and mtime fields of the node are filled in.
@@ -83,7 +87,7 @@ __FBSDID("$FreeBSD$");
  *	Dir_PrintDirectories	Print stats about the directory cache.
  */
 
-#include <sys/types.h>
+#include <sys/param.h>
 #include <sys/stat.h>
 #include <dirent.h>
 #include <err.h>
@@ -655,7 +659,7 @@ Path_FindFile(char *name, struct Path *p
 	 * (fish.c) and what pmake finds (./fish.c).
 	 */
 	if ((!hasSlash || (cp - name == 2 && *name == '.')) &&
-	    (Hash_FindEntry(&dot->files, cp) != NULL)) {
+	    (dot != NULL && Hash_FindEntry(&dot->files, cp) != NULL)) {
 		DEBUGF(DIR, ("in '.'\n"));
 		hits += 1;
 		dot->hits += 1;
@@ -851,6 +855,83 @@ Path_FindFile(char *name, struct Path *p
 
 /*-
  *-----------------------------------------------------------------------
+ * Dir_FindHereOrAbove  --
+ *	search for a path starting at a given directory and then working
+ *	our way up towards the root.
+ *
+ * Input:
+ *	here		starting directory
+ *	search_path	the path we are looking for
+ *	result		the result of a successful search is placed here
+ *	rlen		the length of the result buffer
+ *			(typically MAXPATHLEN + 1)
+ *
+ * Results:
+ *	0 on failure, 1 on success [in which case the found path is put
+ *	in the result buffer].
+ *
+ * Side Effects:
+ *-----------------------------------------------------------------------
+ */
+int
+Dir_FindHereOrAbove(char *here, char *search_path, char *result, int rlen)
+{
+	struct stat st;
+	char dirbase[MAXPATHLEN + 1], *db_end;
+	char try[MAXPATHLEN + 1], *try_end;
+
+	/* copy out our starting point */
+	snprintf(dirbase, sizeof(dirbase), "%s", here);
+	db_end = dirbase + strlen(dirbase);
+
+	/* loop until we determine a result */
+	while (1) {
+		/* try and stat(2) it ... */
+		snprintf(try, sizeof(try), "%s/%s", dirbase, search_path);
+		if (stat(try, &st) != -1) {
+			/*
+			 * Success!  If we found a file, chop off
+			 * the filename so we return a directory.
+			 */
+			if ((st.st_mode & S_IFMT) != S_IFDIR) {
+				try_end = try + strlen(try);
+				while (try_end > try && *try_end != '/')
+					try_end--;
+				if (try_end > try)
+					*try_end = 0;	/* chop! */
+			}
+
+			/*
+			 * Done!
+			 */
+			snprintf(result, rlen, "%s", try);
+			return(1);
+		}
+
+		/*
+		 * Nope, we didn't find it.  If we used up dirbase we've
+		 * reached the root and failed.
+		 */
+		if (db_end == dirbase)
+			break;		/* Failed! */
+
+		/*
+		 * truncate dirbase from the end to move up a dir
+		 */
+		while (db_end > dirbase && *db_end != '/')
+			db_end--;
+		*db_end = 0;		/* chop! */
+
+	} /* while (1) */
+
+	/*
+	 * We failed...
+	 */
+	return(0);
+}
+
+/*-
+ *-----------------------------------------------------------------------
  * Dir_MTime  --
  *	Find the modification time of the file described by gn along the
  *	search path dirSearchPath.

Modified: projects/jbuild/usr.bin/make/dir.h
==============================================================================
--- projects/jbuild/usr.bin/make/dir.h	Mon Jan 11 10:16:12 2010	(r202074)
+++ projects/jbuild/usr.bin/make/dir.h	Mon Jan 11 10:30:57 2010	(r202075)
@@ -72,5 +72,6 @@ void Path_Print(const struct Path *);
 typedef void path_listcb_t(char *, size_t, const char *);
 void Path_List(const struct Path *, path_listcb_t *, char *, size_t);
 #endif
+int Dir_FindHereOrAbove(char *, char *, char *, int);
 
 #endif /* dir_h_6002e3b8 */

From owner-svn-src-projects@FreeBSD.ORG  Mon Jan 11 10:40:16 2010
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 0CBD2106566C;
	Mon, 11 Jan 2010 10:40:16 +0000 (UTC)
	(envelope-from rodrigc@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id F0EA58FC0A;
	Mon, 11 Jan 2010 10:40:15 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o0BAeFgE031767;
	Mon, 11 Jan 2010 10:40:15 GMT (envelope-from rodrigc@svn.freebsd.org)
Received: (from rodrigc@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id o0BAeFsi031765;
	Mon, 11 Jan 2010 10:40:15 GMT (envelope-from rodrigc@svn.freebsd.org)
Message-Id: <201001111040.o0BAeFsi031765@svn.freebsd.org>
From: Craig Rodrigues <rodrigc@FreeBSD.org>
Date: Mon, 11 Jan 2010 10:40:15 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r202076 - projects/jbuild/usr.bin/make
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Jan 2010 10:40:16 -0000

Author: rodrigc
Date: Mon Jan 11 10:40:15 2010
New Revision: 202076
URL: http://svn.freebsd.org/changeset/base/202076

Log:
  Use Dir_FindHereOrAbove() function to recurse up
  directory tree to look for sys.mk.
  
  Submitted by:	obrien, Simon Gerraty <sjg@NetBSD.org>
  Reviewed by:	John Birrell <jb@FreeBSD.org>

Modified:
  projects/jbuild/usr.bin/make/main.c

Modified: projects/jbuild/usr.bin/make/main.c
==============================================================================
--- projects/jbuild/usr.bin/make/main.c	Mon Jan 11 10:30:57 2010	(r202075)
+++ projects/jbuild/usr.bin/make/main.c	Mon Jan 11 10:40:15 2010	(r202076)
@@ -923,6 +923,78 @@ Remake_Makefiles(void)
 
 #ifdef MAKE_IS_BUILD
 static void
+find_srctop(char *srctop)
+{
+	const char *syspaths[] = {
+		"build/mk2",
+		"build/mk",
+		"bld",
+		NULL,
+	};
+	const char **psp;
+	char *cp;
+	char tstdir[MAXPATHLEN];
+	char tstfn[MAXPATHLEN];
+	int n, x;
+
+	/*
+	 * If no user-supplied system path was given, walk the directory
+	 * tree from the current directory looking for the path to
+	 * "sys.mk" and if found, use that directory as the
+	 * default path to the system make files.
+	 */
+	if (TAILQ_EMPTY(&sysIncPath)) {
+		for (psp = syspaths; *psp; psp++) {
+			snprintf(tstfn, sizeof(tstfn), "%s/%s", *psp,
+			    PATH_DEFSYSMK);
+			if (Dir_FindHereOrAbove(curdir, tstfn, tstdir,
+			    sizeof(tstdir))) {
+				Path_AddDir(&sysIncPath, tstdir);
+				DEBUGF(DIR, ("Found '%s'\n", tstfn));
+				MFLAGS_append("-m", tstdir);
+				/* we just found srctop */
+				if (realpath(tstdir, srctop)) {
+					n = strlen(srctop);
+					srctop[n - strlen(*psp) - 1] = '\0';
+				}
+				break;
+			}
+		}
+	}
+
+	if (!srctop[0] && !TAILQ_EMPTY(&sysIncPath)) {
+		/*
+		 * find "sys.mk" so we can compute srctop
+		 */
+		strlcpy(tstfn, PATH_DEFSYSMK, sizeof(tstfn));
+		if ((cp = Path_FindFile(tstfn, &sysIncPath))) {
+			n = strlcpy(tstdir, cp, sizeof(tstdir));
+			n -= sizeof(PATH_DEFSYSMK);
+			tstdir[n] = '\0';
+
+			/* It _should_ be in one of these */
+			for (psp = syspaths; *psp; psp++) {
+				x = strlen(*psp);
+				if (strcmp(&tstdir[n - x], *psp) == 0) {
+					if (realpath(tstdir, srctop)) {
+						n = strlen(srctop);
+						srctop[n - x - 1] = '\0';
+					}
+					break;
+				}
+			}
+		}
+	}
+
+	/* Check if we found the top of our source tree: */
+	if (srctop[0] != '\0') {
+		Var_SetGlobal(".SRCTOP", srctop);
+		Var_SetGlobal(".SRCREL", curdir + strlen(srctop) + 1);
+	}
+}
+
+
+static void
 make_objdir(char *path)
 {
 	struct stat fs;
@@ -947,31 +1019,6 @@ make_objdir(char *path)
 }
 
 static void
-mk_path_init(char *srctop, size_t ssrctop, const char *p)
-{
-	char path[MAXPATHLEN];
-	const char *mk_path_rel = "/bld";
-	size_t len;
-	size_t len1 = strlen(mk_path_rel);
-
-	if (*srctop != '\0' || ssrctop == 0)
-		return;
-
-	if (realpath(p, path) == NULL)
-		return;
-
-	if ((len = strlen(path)) < len1)
-		return;
-
-	if (strcmp(path + len - len1, mk_path_rel) != 0)
-		return;
-
-	path[len - len1] = '\0';
-
-	strlcpy(srctop, path, ssrctop);
-}
-
-static void
 set_jbuild_path(char **argv)
 {
 	char candidate[PATH_MAX];
@@ -1299,67 +1346,7 @@ main(int argc, char **argv)
 	}
 
 #ifdef MAKE_IS_BUILD
-	/*
-	 * If no user-supplied system path was given, walk the directory
-	 * tree from the current directory looking for the path to
-	 * "bld/sys.mk" and if found, use that directory as the
-	 * default path to the system make files.
-	 */
-	if (TAILQ_EMPTY(&sysIncPath)) {
-		char tstdir[MAXPATHLEN];
-		char tstfn[MAXPATHLEN];
-		struct stat fs;
-
-		strlcpy(tstdir, curdir, sizeof(tstdir));
-
-		while (1) {
-			/*
-			 * The system mk file we most want is sys.mk, so use
-			 * it as a test of whether the directory is sultable
-			 * for the system path.
-			 */
-			snprintf(tstfn, sizeof(tstfn), "%s/bld/sys.mk", tstdir);
-			if (stat(tstfn, &fs) == 0) {
-				/* Found the system path, so use it. */
-				tstfn[strlen(tstfn) - 7] = '\0';
-				Path_AddDir(&sysIncPath, tstfn);
-				MFLAGS_append("-m", tstfn);
-				break;
-			}
-
-			/* Get the parent directory path. */
-			if ((cp = strrchr(tstdir, '/')) == NULL)
-				break;
-
-			/* Already up to the root? Use the default instead. */
-			if (cp == tstdir)
-				break;
-
-			/* Truncate the path at the parent directory name. */
-			*cp = '\0';
-		}
-	}
-
-	/*
-	 * At this point we might have been provided with a system path
-	 * if we're a child build, or we might have discovered the system
-	 * path on our own. Either way, we should have a path to a relative
-	 * directory "bld" from the top of our source tree, so we
-	 * can figure out a few special variables from that.
-	 */
-	if (!TAILQ_EMPTY(&sysIncPath)) {
-		/*
-		 * List the system paths until we find one which matches
-		 * the "bld" relative path we prefer.
-		 */
-		Path_List(&sysIncPath, mk_path_init, srctop, sizeof(srctop));
-
-		/* Check if we found the top of our source tree: */
-		if (srctop[0] != '\0') {
-			Var_SetGlobal(".SRCTOP", srctop);
-			Var_SetGlobal(".SRCREL", curdir + strlen(srctop) + 1);
-		}
-	}
+	find_srctop(srctop);
 
 	/*
 	 * For 'build' we would rather force an object directory than build with

From owner-svn-src-projects@FreeBSD.ORG  Mon Jan 11 10:41:52 2010
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 46A27106566B;
	Mon, 11 Jan 2010 10:41:52 +0000 (UTC)
	(envelope-from rodrigc@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 3757D8FC0C;
	Mon, 11 Jan 2010 10:41:52 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o0BAfqrp036273;
	Mon, 11 Jan 2010 10:41:52 GMT (envelope-from rodrigc@svn.freebsd.org)
Received: (from rodrigc@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id o0BAfqYk036270;
	Mon, 11 Jan 2010 10:41:52 GMT (envelope-from rodrigc@svn.freebsd.org)
Message-Id: <201001111041.o0BAfqYk036270@svn.freebsd.org>
From: Craig Rodrigues <rodrigc@FreeBSD.org>
Date: Mon, 11 Jan 2010 10:41:52 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r202077 - projects/jbuild/usr.bin/jdirdep
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Jan 2010 10:41:52 -0000

Author: rodrigc
Date: Mon Jan 11 10:41:51 2010
New Revision: 202077
URL: http://svn.freebsd.org/changeset/base/202077

Log:
  Add stub versions of database functions, in case
  we do not want to compile jbuild with MySQL or SQLite support.

Added:
  projects/jbuild/usr.bin/jdirdep/jdirdep_db_stub.c
Modified:
  projects/jbuild/usr.bin/jdirdep/Makefile.common

Modified: projects/jbuild/usr.bin/jdirdep/Makefile.common
==============================================================================
--- projects/jbuild/usr.bin/jdirdep/Makefile.common	Mon Jan 11 10:40:15 2010	(r202076)
+++ projects/jbuild/usr.bin/jdirdep/Makefile.common	Mon Jan 11 10:41:51 2010	(r202077)
@@ -9,11 +9,13 @@ CFLAGS += -DUSE_SQLITE3 -pthread
 CFLAGS += -I/usr/local/include
 SRCS += jdirdep_sqlite3.c
 LDADD += /usr/local/lib/libsqlite3.a
-.else
+.elif defined(USE_MYSQL)
 SRCS += jdirdep_mysql.c
 MYSQL_CFLAGS != mysql_config --cflags
 MYSQL_LIBS != mysql_config --libs
 CFLAGS += -DUSE_MYSQL ${MYSQL_CFLAGS}
 LDADD += ${MYSQL_LIBS}
 LDADD += -static
+.else
+SRCS += jdirdep_db_stub.c
 .endif

Added: projects/jbuild/usr.bin/jdirdep/jdirdep_db_stub.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/jbuild/usr.bin/jdirdep/jdirdep_db_stub.c	Mon Jan 11 10:41:51 2010	(r202077)
@@ -0,0 +1,32 @@
+/* $FreeBSD$ */
+
+#include <sys/types.h>
+#include <stdlib.h>
+#include "jdirdep.h"
+
+void
+jdirdep_db_close(void)
+{
+}
+
+void *
+jdirdep_db_command_res(const char *fmt __unused, ...)
+{
+	return (NULL);
+}
+
+void
+jdirdep_db_command(db_cb_func func __unused, void *vp __unused, const char *fmt __unused, ...)
+{
+}
+
+void
+jdirdep_db_open(const char *name __unused)
+{
+}
+
+int64_t
+jdirdep_db_rowid(void)
+{
+	return (0);
+}

From owner-svn-src-projects@FreeBSD.ORG  Mon Jan 11 10:49:35 2010
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 29B5C106568B;
	Mon, 11 Jan 2010 10:49:35 +0000 (UTC)
	(envelope-from rodrigc@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 1A7BA8FC0A;
	Mon, 11 Jan 2010 10:49:35 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o0BAnYW7038003;
	Mon, 11 Jan 2010 10:49:34 GMT (envelope-from rodrigc@svn.freebsd.org)
Received: (from rodrigc@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id o0BAnYqp038000;
	Mon, 11 Jan 2010 10:49:34 GMT (envelope-from rodrigc@svn.freebsd.org)
Message-Id: <201001111049.o0BAnYqp038000@svn.freebsd.org>
From: Craig Rodrigues <rodrigc@FreeBSD.org>
Date: Mon, 11 Jan 2010 10:49:34 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r202078 - in projects/jbuild/sys: netinet netinet6 sys
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Jan 2010 10:49:35 -0000

Author: rodrigc
Date: Mon Jan 11 10:49:34 2010
New Revision: 202078
URL: http://svn.freebsd.org/changeset/base/202078

Log:
  Don't stage vimage.h, vinet.h, vinet6.h which were removed.

Modified:
  projects/jbuild/sys/netinet/Buildfile
  projects/jbuild/sys/netinet6/Buildfile
  projects/jbuild/sys/sys/Buildfile

Modified: projects/jbuild/sys/netinet/Buildfile
==============================================================================
--- projects/jbuild/sys/netinet/Buildfile	Mon Jan 11 10:41:51 2010	(r202077)
+++ projects/jbuild/sys/netinet/Buildfile	Mon Jan 11 10:49:34 2010	(r202078)
@@ -66,7 +66,6 @@ INCS = \
 	tcpip.h \
 	toedev.h \
 	udp.h \
-	udp_var.h \
-	vinet.h
+	udp_var.h
 
 .include <bsd.headers.mk>

Modified: projects/jbuild/sys/netinet6/Buildfile
==============================================================================
--- projects/jbuild/sys/netinet6/Buildfile	Mon Jan 11 10:41:51 2010	(r202077)
+++ projects/jbuild/sys/netinet6/Buildfile	Mon Jan 11 10:49:34 2010	(r202078)
@@ -24,7 +24,6 @@ INCS = \
 	scope6_var.h \
 	sctp6_var.h \
 	tcp6_var.h \
-	udp6_var.h \
-	vinet6.h
+	udp6_var.h
 
 .include <bsd.headers.mk>

Modified: projects/jbuild/sys/sys/Buildfile
==============================================================================
--- projects/jbuild/sys/sys/Buildfile	Mon Jan 11 10:41:51 2010	(r202077)
+++ projects/jbuild/sys/sys/Buildfile	Mon Jan 11 10:49:34 2010	(r202078)
@@ -251,7 +251,6 @@ INCS = \
 	user.h \
 	utsname.h \
 	uuid.h \
-	vimage.h \
 	vmmeter.h \
 	vnode.h \
 	vtoc.h \

From owner-svn-src-projects@FreeBSD.ORG  Mon Jan 11 22:46:25 2010
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 41669106566B;
	Mon, 11 Jan 2010 22:46:25 +0000 (UTC) (envelope-from imp@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 18F988FC21;
	Mon, 11 Jan 2010 22:46:25 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o0BMkOfT098918;
	Mon, 11 Jan 2010 22:46:24 GMT (envelope-from imp@svn.freebsd.org)
Received: (from imp@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id o0BMkOev098917;
	Mon, 11 Jan 2010 22:46:24 GMT (envelope-from imp@svn.freebsd.org)
Message-Id: <201001112246.o0BMkOev098917@svn.freebsd.org>
From: Warner Losh <imp@FreeBSD.org>
Date: Mon, 11 Jan 2010 22:46:24 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r202126 - projects/mips
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Jan 2010 22:46:25 -0000

Author: imp
Date: Mon Jan 11 22:46:24 2010
New Revision: 202126
URL: http://svn.freebsd.org/changeset/base/202126

Log:
  Now that this branch has been merged to head, delete it.  We may start
  another branch in the future, but this one is so damaged we have to
  retire it now (it is much easier than fixing it).  Please do an
  	svn switch svn://svn.freebsd.org/base/head
  on any existing trees.

Deleted:
  projects/mips/

From owner-svn-src-projects@FreeBSD.ORG  Tue Jan 12 07:40:58 2010
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 5EBD71065670;
	Tue, 12 Jan 2010 07:40:58 +0000 (UTC)
	(envelope-from brooks@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 4E34A8FC18;
	Tue, 12 Jan 2010 07:40:58 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o0C7ewPk017706;
	Tue, 12 Jan 2010 07:40:58 GMT (envelope-from brooks@svn.freebsd.org)
Received: (from brooks@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id o0C7ewNH017704;
	Tue, 12 Jan 2010 07:40:58 GMT (envelope-from brooks@svn.freebsd.org)
Message-Id: <201001120740.o0C7ewNH017704@svn.freebsd.org>
From: Brooks Davis <brooks@FreeBSD.org>
Date: Tue, 12 Jan 2010 07:40:58 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r202142 - projects/ngroups/sys/kern
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Jan 2010 07:40:58 -0000

Author: brooks
Date: Tue Jan 12 07:40:58 2010
New Revision: 202142
URL: http://svn.freebsd.org/changeset/base/202142

Log:
  Cap ngroups_max and (INT_MAX-1), any larger and we'll overflow the int
  counters.

Modified:
  projects/ngroups/sys/kern/subr_param.c

Modified: projects/ngroups/sys/kern/subr_param.c
==============================================================================
--- projects/ngroups/sys/kern/subr_param.c	Tue Jan 12 07:34:23 2010	(r202141)
+++ projects/ngroups/sys/kern/subr_param.c	Tue Jan 12 07:40:58 2010	(r202142)
@@ -40,6 +40,7 @@ __FBSDID("$FreeBSD$");
 #include "opt_param.h"
 #include "opt_maxusers.h"
 
+#include <sys/limits.h>
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/kernel.h>
@@ -232,12 +233,15 @@ init_param1(void)
 
 	/*
 	 * Let the administrator set {NGROUPS_MAX}, but disallow values
-	 * less than NGROUPS_MAX which would violate POSIX.1-2008.
+	 * less than NGROUPS_MAX which would violate POSIX.1-2008 or
+	 * greater than INT_MAX-1 which would result in overflow.
 	 */
 	ngroups_max = NGROUPS_MAX;
 	TUNABLE_INT_FETCH("kern.ngroups", &ngroups_max);
 	if (ngroups_max < NGROUPS_MAX)
 		ngroups_max = NGROUPS_MAX;
+	if (ngroups_max > INT_MAX - 1)
+		ngroups_max = INT_MAX - 1;
 }
 
 /*

From owner-svn-src-projects@FreeBSD.ORG  Tue Jan 12 07:55:03 2010
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 5F0AA106566B;
	Tue, 12 Jan 2010 07:55:03 +0000 (UTC)
	(envelope-from brooks@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 49CAA8FC1C;
	Tue, 12 Jan 2010 07:55:03 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o0C7t30f021049;
	Tue, 12 Jan 2010 07:55:03 GMT (envelope-from brooks@svn.freebsd.org)
Received: (from brooks@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id o0C7t2v7021014;
	Tue, 12 Jan 2010 07:55:02 GMT (envelope-from brooks@svn.freebsd.org)
Message-Id: <201001120755.o0C7t2v7021014@svn.freebsd.org>
From: Brooks Davis <brooks@FreeBSD.org>
Date: Tue, 12 Jan 2010 07:55:02 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r202144 - in projects/ngroups: .
	contrib/gcc/config/mips contrib/one-true-awk
	contrib/opie/libopie etc etc/rc.d games/fortune/datfiles
	kerberos5/usr.bin/kdestroy kerberos5/usr.bin/kpass...
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Jan 2010 07:55:03 -0000

Author: brooks
Date: Tue Jan 12 07:55:02 2010
New Revision: 202144
URL: http://svn.freebsd.org/changeset/base/202144

Log:
  MFH at r202143

Added:
  projects/ngroups/lib/libc/mips/gen/hardfloat/
     - copied from r202143, head/lib/libc/mips/gen/hardfloat/
  projects/ngroups/share/man/man3/pthread_affinity_np.3
     - copied unchanged from r202143, head/share/man/man3/pthread_affinity_np.3
  projects/ngroups/share/man/man3/pthread_attr_affinity_np.3
     - copied unchanged from r202143, head/share/man/man3/pthread_attr_affinity_np.3
  projects/ngroups/sys/boot/efi/libefi/efipart.c
     - copied unchanged from r202143, head/sys/boot/efi/libefi/efipart.c
  projects/ngroups/sys/conf/ldscript.mips.mips64
     - copied unchanged from r202143, head/sys/conf/ldscript.mips.mips64
  projects/ngroups/sys/conf/ldscript.mips.octeon1.32
     - copied unchanged from r202143, head/sys/conf/ldscript.mips.octeon1.32
  projects/ngroups/sys/conf/ldscript.mips.octeon1.64
     - copied unchanged from r202143, head/sys/conf/ldscript.mips.octeon1.64
  projects/ngroups/sys/conf/ldscript.mips.octeon1.n32
     - copied unchanged from r202143, head/sys/conf/ldscript.mips.octeon1.n32
  projects/ngroups/sys/dev/cfe/cfe_env.c
     - copied unchanged from r202143, head/sys/dev/cfe/cfe_env.c
  projects/ngroups/sys/dev/flash/mx25l.c
     - copied unchanged from r202143, head/sys/dev/flash/mx25l.c
  projects/ngroups/sys/dev/flash/mx25lreg.h
     - copied unchanged from r202143, head/sys/dev/flash/mx25lreg.h
  projects/ngroups/sys/dev/siba/siba_cc.c
     - copied unchanged from r202143, head/sys/dev/siba/siba_cc.c
  projects/ngroups/sys/ia64/ia64/iodev_machdep.c
     - copied unchanged from r202143, head/sys/ia64/ia64/iodev_machdep.c
  projects/ngroups/sys/ia64/include/iodev.h
     - copied unchanged from r202143, head/sys/ia64/include/iodev.h
  projects/ngroups/sys/mips/alchemy/
     - copied from r202143, head/sys/mips/alchemy/
  projects/ngroups/sys/mips/atheros/
     - copied from r202143, head/sys/mips/atheros/
  projects/ngroups/sys/mips/cavium/
     - copied from r202143, head/sys/mips/cavium/
  projects/ngroups/sys/mips/conf/ALCHEMY
     - copied unchanged from r202143, head/sys/mips/conf/ALCHEMY
  projects/ngroups/sys/mips/conf/AR71XX
     - copied unchanged from r202143, head/sys/mips/conf/AR71XX
  projects/ngroups/sys/mips/conf/AR71XX.hints
     - copied unchanged from r202143, head/sys/mips/conf/AR71XX.hints
  projects/ngroups/sys/mips/conf/MALTA64
     - copied unchanged from r202143, head/sys/mips/conf/MALTA64
  projects/ngroups/sys/mips/conf/OCTEON1
     - copied unchanged from r202143, head/sys/mips/conf/OCTEON1
  projects/ngroups/sys/mips/conf/OCTEON1-32
     - copied unchanged from r202143, head/sys/mips/conf/OCTEON1-32
  projects/ngroups/sys/mips/conf/OCTEON1.hints
     - copied unchanged from r202143, head/sys/mips/conf/OCTEON1.hints
  projects/ngroups/sys/mips/conf/SWARM
     - copied unchanged from r202143, head/sys/mips/conf/SWARM
  projects/ngroups/sys/mips/conf/SWARM.hints
     - copied unchanged from r202143, head/sys/mips/conf/SWARM.hints
  projects/ngroups/sys/mips/conf/XLR
     - copied unchanged from r202143, head/sys/mips/conf/XLR
  projects/ngroups/sys/mips/include/cdefs.h
     - copied unchanged from r202143, head/sys/mips/include/cdefs.h
  projects/ngroups/sys/mips/include/fls64.h
     - copied unchanged from r202143, head/sys/mips/include/fls64.h
  projects/ngroups/sys/mips/mips/bus_space_generic.c
     - copied unchanged from r202143, head/sys/mips/mips/bus_space_generic.c
  projects/ngroups/sys/mips/mips/elf_trampoline.c
     - copied unchanged from r202143, head/sys/mips/mips/elf_trampoline.c
  projects/ngroups/sys/mips/mips/inckern.S
     - copied unchanged from r202143, head/sys/mips/mips/inckern.S
  projects/ngroups/sys/mips/mips/ptrace_machdep.c
     - copied unchanged from r202143, head/sys/mips/mips/ptrace_machdep.c
  projects/ngroups/sys/mips/mips/sys_machdep.c
     - copied unchanged from r202143, head/sys/mips/mips/sys_machdep.c
  projects/ngroups/sys/mips/rmi/
     - copied from r202143, head/sys/mips/rmi/
  projects/ngroups/sys/mips/sibyte/
     - copied from r202143, head/sys/mips/sibyte/
  projects/ngroups/sys/modules/epic/
     - copied from r202143, head/sys/modules/epic/
  projects/ngroups/sys/sparc64/ebus/epic.c
     - copied unchanged from r202143, head/sys/sparc64/ebus/epic.c
Deleted:
  projects/ngroups/contrib/one-true-awk/mac.code
  projects/ngroups/lib/libc/mips/gen/fpgetmask.c
  projects/ngroups/lib/libc/mips/gen/fpgetround.c
  projects/ngroups/lib/libc/mips/gen/fpgetsticky.c
  projects/ngroups/lib/libc/mips/gen/fpsetmask.c
  projects/ngroups/lib/libc/mips/gen/fpsetround.c
  projects/ngroups/lib/libc/mips/gen/fpsetsticky.c
  projects/ngroups/sys/boot/efi/libefi/efifs.c
  projects/ngroups/sys/mips/include/bus_octeon.h
  projects/ngroups/sys/mips/include/intr.h
  projects/ngroups/sys/mips/include/pltfm.h
  projects/ngroups/sys/mips/sentry5/siba_cc.c
  projects/ngroups/sys/mips/sentry5/siba_mips.c
  projects/ngroups/sys/mips/sentry5/siba_sdram.c
  projects/ngroups/usr.bin/awk/b.c.diff
  projects/ngroups/usr.bin/awk/main.c.diff
  projects/ngroups/usr.bin/awk/run.c.diff
Modified:
  projects/ngroups/Makefile
  projects/ngroups/UPDATING
  projects/ngroups/contrib/gcc/config/mips/freebsd.h
  projects/ngroups/contrib/one-true-awk/FIXES
  projects/ngroups/contrib/one-true-awk/b.c
  projects/ngroups/contrib/one-true-awk/lib.c
  projects/ngroups/contrib/one-true-awk/main.c
  projects/ngroups/contrib/one-true-awk/makefile
  projects/ngroups/contrib/one-true-awk/maketab.c
  projects/ngroups/contrib/one-true-awk/proctab.c
  projects/ngroups/contrib/one-true-awk/proto.h
  projects/ngroups/contrib/one-true-awk/run.c
  projects/ngroups/contrib/opie/libopie/getutmpentry.c
  projects/ngroups/contrib/opie/libopie/insecure.c
  projects/ngroups/contrib/opie/libopie/login.c
  projects/ngroups/etc/rc.firewall
  projects/ngroups/etc/termcap.small
  projects/ngroups/games/fortune/datfiles/freebsd-tips
  projects/ngroups/kerberos5/usr.bin/kdestroy/Makefile
  projects/ngroups/kerberos5/usr.bin/kpasswd/Makefile
  projects/ngroups/lib/libc/Makefile
  projects/ngroups/lib/libc/gen/sem_init.3
  projects/ngroups/lib/libc/gen/sem_open.3
  projects/ngroups/lib/libc/mips/Symbol.map
  projects/ngroups/lib/libc/mips/sys/brk.S
  projects/ngroups/lib/libc/stdio/fread.c
  projects/ngroups/lib/libc/stdio/fwrite.c
  projects/ngroups/lib/libc/sys/cpuset.2
  projects/ngroups/lib/libc/sys/cpuset_getaffinity.2
  projects/ngroups/lib/libstand/dosfs.c
  projects/ngroups/lib/libthr/arch/mips/include/pthread_md.h
  projects/ngroups/lib/libusb/libusb20.c
  projects/ngroups/sbin/fsck_ffs/pass2.c
  projects/ngroups/share/man/man3/Makefile
  projects/ngroups/share/man/man3/pthread.3
  projects/ngroups/share/man/man3/pthread_attr.3
  projects/ngroups/share/man/man4/bridge.4
  projects/ngroups/share/man/man4/faith.4
  projects/ngroups/share/man/man4/uart.4
  projects/ngroups/share/man/man5/devfs.rules.5
  projects/ngroups/share/man/man9/sleepqueue.9
  projects/ngroups/share/mk/bsd.libnames.mk
  projects/ngroups/share/termcap/termcap.src
  projects/ngroups/sys/amd64/amd64/io.c
  projects/ngroups/sys/amd64/amd64/mp_machdep.c
  projects/ngroups/sys/amd64/amd64/pmap.c
  projects/ngroups/sys/amd64/amd64/sys_machdep.c
  projects/ngroups/sys/amd64/conf/GENERIC
  projects/ngroups/sys/amd64/include/iodev.h
  projects/ngroups/sys/boot/common/bootstrap.h
  projects/ngroups/sys/boot/common/dev_net.c
  projects/ngroups/sys/boot/efi/include/efilib.h
  projects/ngroups/sys/boot/efi/libefi/Makefile
  projects/ngroups/sys/boot/forth/loader.conf
  projects/ngroups/sys/boot/ia64/efi/conf.c
  projects/ngroups/sys/boot/ia64/efi/main.c
  projects/ngroups/sys/boot/ia64/efi/version
  projects/ngroups/sys/boot/sparc64/loader/Makefile
  projects/ngroups/sys/cam/ata/ata_xpt.c
  projects/ngroups/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c
  projects/ngroups/sys/compat/linux/linux_file.c
  projects/ngroups/sys/conf/Makefile.mips
  projects/ngroups/sys/conf/NOTES
  projects/ngroups/sys/conf/files
  projects/ngroups/sys/conf/files.ia64
  projects/ngroups/sys/conf/files.mips
  projects/ngroups/sys/conf/files.sparc64
  projects/ngroups/sys/conf/kern.mk
  projects/ngroups/sys/conf/ldscript.mips
  projects/ngroups/sys/conf/options
  projects/ngroups/sys/conf/options.mips
  projects/ngroups/sys/dev/ae/if_ae.c
  projects/ngroups/sys/dev/ahci/ahci.c
  projects/ngroups/sys/dev/ata/ata-all.c
  projects/ngroups/sys/dev/ata/chipsets/ata-ati.c
  projects/ngroups/sys/dev/cfe/cfe_api.c
  projects/ngroups/sys/dev/cxgb/common/cxgb_t3_hw.c
  projects/ngroups/sys/dev/ic/ns16550.h
  projects/ngroups/sys/dev/io/iodev.c
  projects/ngroups/sys/dev/iwn/if_iwn.c
  projects/ngroups/sys/dev/iwn/if_iwnvar.h
  projects/ngroups/sys/dev/mxge/eth_z8e.h
  projects/ngroups/sys/dev/mxge/ethp_z8e.h
  projects/ngroups/sys/dev/mxge/if_mxge.c
  projects/ngroups/sys/dev/mxge/rss_eth_z8e.h
  projects/ngroups/sys/dev/mxge/rss_ethp_z8e.h
  projects/ngroups/sys/dev/sound/pci/hda/hdac.c
  projects/ngroups/sys/dev/sound/pci/hda/hdac_private.h
  projects/ngroups/sys/dev/usb/serial/u3g.c
  projects/ngroups/sys/dev/usb/usbdevs
  projects/ngroups/sys/i386/conf/GENERIC
  projects/ngroups/sys/i386/i386/io.c
  projects/ngroups/sys/i386/i386/locore.s
  projects/ngroups/sys/i386/i386/pmap.c
  projects/ngroups/sys/i386/include/iodev.h
  projects/ngroups/sys/i386/xen/mp_machdep.c
  projects/ngroups/sys/i386/xen/xen_machdep.c
  projects/ngroups/sys/ia64/conf/DEFAULTS
  projects/ngroups/sys/ia64/conf/GENERIC
  projects/ngroups/sys/ia64/ia64/sys_machdep.c
  projects/ngroups/sys/ia64/include/sysarch.h
  projects/ngroups/sys/kern/kern_clock.c
  projects/ngroups/sys/kern/kern_environment.c
  projects/ngroups/sys/kern/kern_jail.c
  projects/ngroups/sys/kern/kern_umtx.c
  projects/ngroups/sys/kern/subr_sleepqueue.c
  projects/ngroups/sys/kern/subr_turnstile.c
  projects/ngroups/sys/kern/vfs_syscalls.c
  projects/ngroups/sys/mips/adm5120/adm5120_machdep.c
  projects/ngroups/sys/mips/adm5120/files.adm5120
  projects/ngroups/sys/mips/adm5120/if_admsw.c
  projects/ngroups/sys/mips/adm5120/obio.c
  projects/ngroups/sys/mips/adm5120/uart_cpu_adm5120.c
  projects/ngroups/sys/mips/conf/MALTA
  projects/ngroups/sys/mips/conf/SENTRY5
  projects/ngroups/sys/mips/idt/files.idt
  projects/ngroups/sys/mips/idt/idt_machdep.c
  projects/ngroups/sys/mips/idt/obio.c
  projects/ngroups/sys/mips/idt/uart_bus_rc32434.c
  projects/ngroups/sys/mips/idt/uart_cpu_rc32434.c
  projects/ngroups/sys/mips/include/_align.h
  projects/ngroups/sys/mips/include/_bus.h
  projects/ngroups/sys/mips/include/_types.h
  projects/ngroups/sys/mips/include/asm.h
  projects/ngroups/sys/mips/include/atomic.h
  projects/ngroups/sys/mips/include/bus.h
  projects/ngroups/sys/mips/include/cache.h
  projects/ngroups/sys/mips/include/cache_mipsNN.h
  projects/ngroups/sys/mips/include/cpu.h
  projects/ngroups/sys/mips/include/cpufunc.h
  projects/ngroups/sys/mips/include/cpuinfo.h
  projects/ngroups/sys/mips/include/cpuregs.h
  projects/ngroups/sys/mips/include/db_machdep.h
  projects/ngroups/sys/mips/include/elf.h
  projects/ngroups/sys/mips/include/endian.h
  projects/ngroups/sys/mips/include/float.h
  projects/ngroups/sys/mips/include/hwfunc.h
  projects/ngroups/sys/mips/include/intr_machdep.h
  projects/ngroups/sys/mips/include/kdb.h
  projects/ngroups/sys/mips/include/locore.h
  projects/ngroups/sys/mips/include/md_var.h
  projects/ngroups/sys/mips/include/param.h
  projects/ngroups/sys/mips/include/pcb.h
  projects/ngroups/sys/mips/include/pmap.h
  projects/ngroups/sys/mips/include/proc.h
  projects/ngroups/sys/mips/include/profile.h
  projects/ngroups/sys/mips/include/psl.h
  projects/ngroups/sys/mips/include/pte.h
  projects/ngroups/sys/mips/include/regdef.h
  projects/ngroups/sys/mips/include/regnum.h
  projects/ngroups/sys/mips/include/sysarch.h
  projects/ngroups/sys/mips/include/trap.h
  projects/ngroups/sys/mips/include/ucontext.h
  projects/ngroups/sys/mips/malta/files.malta
  projects/ngroups/sys/mips/malta/gt_pci.c
  projects/ngroups/sys/mips/malta/malta_machdep.c
  projects/ngroups/sys/mips/malta/maltareg.h
  projects/ngroups/sys/mips/malta/obio.c
  projects/ngroups/sys/mips/malta/std.malta
  projects/ngroups/sys/mips/malta/uart_bus_maltausart.c
  projects/ngroups/sys/mips/malta/uart_cpu_maltausart.c
  projects/ngroups/sys/mips/malta/yamon.h
  projects/ngroups/sys/mips/mips/busdma_machdep.c
  projects/ngroups/sys/mips/mips/cache.c
  projects/ngroups/sys/mips/mips/cache_mipsNN.c
  projects/ngroups/sys/mips/mips/copystr.S
  projects/ngroups/sys/mips/mips/cpu.c
  projects/ngroups/sys/mips/mips/db_trace.c
  projects/ngroups/sys/mips/mips/elf_machdep.c
  projects/ngroups/sys/mips/mips/exception.S
  projects/ngroups/sys/mips/mips/fp.S
  projects/ngroups/sys/mips/mips/gdb_machdep.c
  projects/ngroups/sys/mips/mips/genassym.c
  projects/ngroups/sys/mips/mips/in_cksum.c
  projects/ngroups/sys/mips/mips/intr_machdep.c
  projects/ngroups/sys/mips/mips/locore.S
  projects/ngroups/sys/mips/mips/machdep.c
  projects/ngroups/sys/mips/mips/mainbus.c
  projects/ngroups/sys/mips/mips/mem.c
  projects/ngroups/sys/mips/mips/nexus.c
  projects/ngroups/sys/mips/mips/pm_machdep.c
  projects/ngroups/sys/mips/mips/pmap.c
  projects/ngroups/sys/mips/mips/psraccess.S
  projects/ngroups/sys/mips/mips/support.S
  projects/ngroups/sys/mips/mips/swtch.S
  projects/ngroups/sys/mips/mips/tick.c
  projects/ngroups/sys/mips/mips/tlb.S
  projects/ngroups/sys/mips/mips/trap.c
  projects/ngroups/sys/mips/mips/vm_machdep.c
  projects/ngroups/sys/mips/sentry5/files.sentry5
  projects/ngroups/sys/mips/sentry5/obio.c
  projects/ngroups/sys/mips/sentry5/s5_machdep.c
  projects/ngroups/sys/mips/sentry5/uart_bus_sbusart.c
  projects/ngroups/sys/mips/sentry5/uart_cpu_sbusart.c
  projects/ngroups/sys/modules/Makefile
  projects/ngroups/sys/net/if_epair.c
  projects/ngroups/sys/netgraph/ng_ether.c
  projects/ngroups/sys/nfsclient/nfs_vfsops.c
  projects/ngroups/sys/nfsclient/nfs_vnops.c
  projects/ngroups/sys/nfsserver/nfs.h
  projects/ngroups/sys/nfsserver/nfs_fha.c
  projects/ngroups/sys/nfsserver/nfs_srvkrpc.c
  projects/ngroups/sys/opencrypto/cryptosoft.c
  projects/ngroups/sys/pc98/conf/GENERIC
  projects/ngroups/sys/powerpc/conf/GENERIC
  projects/ngroups/sys/sparc64/conf/GENERIC
  projects/ngroups/sys/sparc64/pci/fire.c
  projects/ngroups/sys/sun4v/conf/GENERIC
  projects/ngroups/sys/sys/proc.h
  projects/ngroups/sys/sys/sleepqueue.h
  projects/ngroups/sys/sys/syscallsubr.h
  projects/ngroups/sys/sys/systm.h
  projects/ngroups/sys/ufs/ffs/ffs_alloc.c
  projects/ngroups/sys/ufs/ffs/fs.h
  projects/ngroups/sys/ufs/ufs/ufs_lookup.c
  projects/ngroups/tools/build/mk/OptionalObsoleteFiles.inc
  projects/ngroups/usr.bin/awk/Makefile
  projects/ngroups/usr.bin/lastcomm/lastcomm.c
  projects/ngroups/usr.bin/make/job.c
  projects/ngroups/usr.bin/netstat/if.c
  projects/ngroups/usr.bin/netstat/main.c
  projects/ngroups/usr.bin/netstat/netstat.1
  projects/ngroups/usr.bin/netstat/netstat.h
  projects/ngroups/usr.sbin/faithd/faithd.8
  projects/ngroups/usr.sbin/traceroute/findsaddr-udp.c
  projects/ngroups/usr.sbin/usbconfig/Makefile
  projects/ngroups/usr.sbin/usbconfig/usbconfig.c
Directory Properties:
  projects/ngroups/   (props changed)
  projects/ngroups/cddl/contrib/opensolaris/   (props changed)
  projects/ngroups/contrib/ee/   (props changed)
  projects/ngroups/contrib/expat/   (props changed)
  projects/ngroups/contrib/less/   (props changed)
  projects/ngroups/contrib/one-true-awk/   (props changed)
  projects/ngroups/contrib/tcsh/   (props changed)
  projects/ngroups/etc/rc.d/static_arp   (props changed)
  projects/ngroups/sys/cddl/contrib/opensolaris/   (props changed)
  projects/ngroups/sys/cddl/contrib/opensolaris/uts/common/rpc/   (props changed)
  projects/ngroups/sys/contrib/dev/acpica/   (props changed)
  projects/ngroups/sys/dev/xen/xenpci/   (props changed)

Modified: projects/ngroups/Makefile
==============================================================================
--- projects/ngroups/Makefile	Tue Jan 12 07:49:34 2010	(r202143)
+++ projects/ngroups/Makefile	Tue Jan 12 07:55:02 2010	(r202144)
@@ -321,8 +321,9 @@ universe_${target}:
 	@echo ">> ${target} completed on `LC_ALL=C date`"
 .endfor
 universe_kernels: universe_kernconfs
-BUILD_ARCH!=	uname -p
-TARGET?=	${BUILD_ARCH}
+.if !defined(TARGET)
+TARGET!=	uname -m
+.endif
 KERNCONFS!=	cd ${.CURDIR}/sys/${TARGET}/conf && \
 		find [A-Z0-9]*[A-Z0-9] -type f -maxdepth 0 \
 		! -name DEFAULTS ! -name NOTES

Modified: projects/ngroups/UPDATING
==============================================================================
--- projects/ngroups/UPDATING	Tue Jan 12 07:49:34 2010	(r202143)
+++ projects/ngroups/UPDATING	Tue Jan 12 07:55:02 2010	(r202144)
@@ -22,6 +22,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 9.
 	machines to maximize performance.  (To disable malloc debugging, run
 	ln -s aj /etc/malloc.conf.)
 
+20100108:
+	Introduce the kernel thread "deadlock resolver" (which can be enabled
+	via the DEADLKRES option, see NOTES for more details) and the
+	sleepq_type() function for sleepqueues.
+
 20091202:
 	The rc.firewall and rc.firewall6 were unified, and
 	rc.firewall6 and rc.d/ip6fw were removed.

Modified: projects/ngroups/contrib/gcc/config/mips/freebsd.h
==============================================================================
--- projects/ngroups/contrib/gcc/config/mips/freebsd.h	Tue Jan 12 07:49:34 2010	(r202143)
+++ projects/ngroups/contrib/gcc/config/mips/freebsd.h	Tue Jan 12 07:55:02 2010	(r202144)
@@ -97,6 +97,9 @@ Boston, MA 02110-1301, USA.  */
    Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.c,
    c-common.c, and config/<arch>/<arch>.h.  */
 
+#undef TARGET_DEFAULT
+#define TARGET_DEFAULT (MASK_ABICALLS | MASK_SOFT_FLOAT)
+
 #if TARGET_ENDIAN_DEFAULT != 0
 #define TARGET_VERSION	fprintf (stderr, " (FreeBSD/mips)");
 #else

Modified: projects/ngroups/contrib/one-true-awk/FIXES
==============================================================================
--- projects/ngroups/contrib/one-true-awk/FIXES	Tue Jan 12 07:49:34 2010	(r202143)
+++ projects/ngroups/contrib/one-true-awk/FIXES	Tue Jan 12 07:55:02 2010	(r202144)
@@ -25,6 +25,23 @@ THIS SOFTWARE.
 This file lists all bug fixes, changes, etc., made since the AWK book
 was sent to the printers in August, 1987.
 
+Nov 26, 2009:
+	fixed a long-standing issue with when FS takes effect.  a
+	change to FS is now noticed immediately for subsequent splits.
+
+	changed the name getline() to awkgetline() to avoid yet another
+	name conflict somewhere.
+
+Feb 11, 2009:
+	temporarily for now defined HAS_ISBLANK, since that seems to
+	be the best way through the thicket.  isblank arrived in C99,
+	but seems to be arriving at different systems at different
+	times.
+
+Oct 8, 2008:
+	fixed typo in b.c that set tmpvec wrongly.  no one had ever
+	run into the problem, apparently.  thanks to alistair crooks.
+
 Oct 23, 2007:
 	minor fix in lib.c: increase inputFS to 100, change malloc
 	for fields to n+1.  

Modified: projects/ngroups/contrib/one-true-awk/b.c
==============================================================================
--- projects/ngroups/contrib/one-true-awk/b.c	Tue Jan 12 07:49:34 2010	(r202143)
+++ projects/ngroups/contrib/one-true-awk/b.c	Tue Jan 12 07:55:02 2010	(r202144)
@@ -24,6 +24,9 @@ THIS SOFTWARE.
 
 /* lasciate ogne speranza, voi ch'intrate. */
 
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
 #define	DEBUG
 
 #include <ctype.h>
@@ -285,9 +288,21 @@ int quoted(char **pp)	/* pick up next th
 	return c;
 }
 
+static int collate_range_cmp(int a, int b)
+{
+	static char s[2][2];
+
+	if ((uschar)a == (uschar)b)
+		return 0;
+	s[0][0] = a;
+	s[1][0] = b;
+	return (strcoll(s[0], s[1]));
+}
+
 char *cclenter(const char *argp)	/* add a character class */
 {
 	int i, c, c2;
+	int j;
 	uschar *p = (uschar *) argp;
 	uschar *op, *bp;
 	static uschar *buf = 0;
@@ -306,15 +321,18 @@ char *cclenter(const char *argp)	/* add 
 				c2 = *p++;
 				if (c2 == '\\')
 					c2 = quoted((char **) &p);
-				if (c > c2) {	/* empty; ignore */
+				if (collate_range_cmp(c, c2) > 0) {
 					bp--;
 					i--;
 					continue;
 				}
-				while (c < c2) {
+				for (j = 0; j < NCHARS; j++) {
+					if ((collate_range_cmp(c, j) > 0) ||
+					    collate_range_cmp(j, c2) > 0)
+						continue;
 					if (!adjbuf((char **) &buf, &bufsz, bp-buf+2, 100, (char **) &bp, "cclenter1"))
 						FATAL("out of space for character class [%.10s...] 2", p);
-					*bp++ = ++c;
+					*bp++ = j;
 					i++;
 				}
 				continue;
@@ -731,6 +749,7 @@ Node *unary(Node *np)
  * to nelson beebe for the suggestion; let's see if it works everywhere.
  */
 
+/* #define HAS_ISBLANK */
 #ifndef HAS_ISBLANK
 
 int (isblank)(int c)
@@ -876,7 +895,7 @@ int cgoto(fa *f, int s, int c)
 					if (q[j] >= maxsetvec) {
 						maxsetvec *= 4;
 						setvec = (int *) realloc(setvec, maxsetvec * sizeof(int));
-						tmpset = (int *) realloc(setvec, maxsetvec * sizeof(int));
+						tmpset = (int *) realloc(tmpset, maxsetvec * sizeof(int));
 						if (setvec == 0 || tmpset == 0)
 							overflo("cgoto overflow");
 					}

Modified: projects/ngroups/contrib/one-true-awk/lib.c
==============================================================================
--- projects/ngroups/contrib/one-true-awk/lib.c	Tue Jan 12 07:49:34 2010	(r202143)
+++ projects/ngroups/contrib/one-true-awk/lib.c	Tue Jan 12 07:55:02 2010	(r202144)
@@ -274,6 +274,7 @@ void fldbld(void)	/* create fields from 
 	}
 	fr = fields;
 	i = 0;	/* number of fields accumulated here */
+	strcpy(inputFS, *FS);
 	if (strlen(inputFS) > 1) {	/* it's a regular expression */
 		i = refldbld(r, inputFS);
 	} else if ((sep = *inputFS) == ' ') {	/* default whitespace */

Modified: projects/ngroups/contrib/one-true-awk/main.c
==============================================================================
--- projects/ngroups/contrib/one-true-awk/main.c	Tue Jan 12 07:49:34 2010	(r202143)
+++ projects/ngroups/contrib/one-true-awk/main.c	Tue Jan 12 07:55:02 2010	(r202144)
@@ -22,7 +22,10 @@ ARISING OUT OF OR IN CONNECTION WITH THE
 THIS SOFTWARE.
 ****************************************************************/
 
-const char	*version = "version 20070501";
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+const char	*version = "version 20091126 (FreeBSD)";
 
 #define DEBUG
 #include <stdio.h>
@@ -58,6 +61,7 @@ int main(int argc, char *argv[])
 	const char *fs = NULL;
 
 	setlocale(LC_CTYPE, "");
+	setlocale(LC_COLLATE, "");
 	setlocale(LC_NUMERIC, "C"); /* for parsing cmdline & prog */
 	cmdname = argv[0];
 	if (argc == 1) {
@@ -86,13 +90,18 @@ int main(int argc, char *argv[])
 				safe = 1;
 			break;
 		case 'f':	/* next argument is program filename */
-			argc--;
-			argv++;
-			if (argc <= 1)
-				FATAL("no program filename");
-			if (npfile >= MAX_PFILE - 1)
-				FATAL("too many -f options"); 
-			pfile[npfile++] = argv[1];
+			if (argv[1][2] != 0) {	/* arg is -fsomething */
+				if (npfile >= MAX_PFILE - 1)
+					FATAL("too many -f options"); 
+				pfile[npfile++] = &argv[1][2];
+			} else {		/* arg is -f something */
+				argc--; argv++;
+				if (argc <= 1)
+					FATAL("no program filename");
+				if (npfile >= MAX_PFILE - 1)
+					FATAL("too many -f options"); 
+				pfile[npfile++] = argv[1];
+			}
 			break;
 		case 'F':	/* set field separator */
 			if (argv[1][2] != 0) {	/* arg is -Fsomething */
@@ -111,8 +120,14 @@ int main(int argc, char *argv[])
 				WARNING("field separator FS is empty");
 			break;
 		case 'v':	/* -v a=1 to be done NOW.  one -v for each */
-			if (argv[1][2] == '\0' && --argc > 1 && isclvar((++argv)[1]))
-				setclvar(argv[1]);
+			if (argv[1][2] != 0) {	/* arg is -vsomething */
+				if (argv[1][2] != 0)
+					setclvar(&argv[1][2]);
+			} else {		/* arg is -v something */
+				argc--; argv++;
+				if (argc > 1 && isclvar(argv[1]))
+					setclvar(argv[1]);
+			}
 			break;
 		case 'd':
 			dbg = atoi(&argv[1][2]);

Modified: projects/ngroups/contrib/one-true-awk/makefile
==============================================================================
--- projects/ngroups/contrib/one-true-awk/makefile	Tue Jan 12 07:49:34 2010	(r202143)
+++ projects/ngroups/contrib/one-true-awk/makefile	Tue Jan 12 07:55:02 2010	(r202144)
@@ -31,7 +31,6 @@ CC = gcc -fprofile-arcs -ftest-coverage 
 CC = gcc -Wall -g
 CC = cc
 CC = gcc -O4
-CC = gcc -Wall -g
 
 
 YACC = bison -y

Modified: projects/ngroups/contrib/one-true-awk/maketab.c
==============================================================================
--- projects/ngroups/contrib/one-true-awk/maketab.c	Tue Jan 12 07:49:34 2010	(r202143)
+++ projects/ngroups/contrib/one-true-awk/maketab.c	Tue Jan 12 07:55:02 2010	(r202144)
@@ -102,7 +102,7 @@ struct xx
 	{ CALL, "call", "call" },
 	{ ARG, "arg", "arg" },
 	{ VARNF, "getnf", "NF" },
-	{ GETLINE, "getline", "getline" },
+	{ GETLINE, "awkgetline", "getline" },
 	{ 0, "", "" },
 };
 

Modified: projects/ngroups/contrib/one-true-awk/proctab.c
==============================================================================
--- projects/ngroups/contrib/one-true-awk/proctab.c	Tue Jan 12 07:49:34 2010	(r202143)
+++ projects/ngroups/contrib/one-true-awk/proctab.c	Tue Jan 12 07:55:02 2010	(r202144)
@@ -180,7 +180,7 @@ Cell *(*proctab[93])(Node **, int) = {
 	nullproc,	/* NUMBER */
 	nullproc,	/* STRING */
 	nullproc,	/* REGEXPR */
-	getline,	/* GETLINE */
+	awkgetline,	/* GETLINE */
 	substr,	/* SUBSTR */
 	split,	/* SPLIT */
 	jump,	/* RETURN */

Modified: projects/ngroups/contrib/one-true-awk/proto.h
==============================================================================
--- projects/ngroups/contrib/one-true-awk/proto.h	Tue Jan 12 07:49:34 2010	(r202143)
+++ projects/ngroups/contrib/one-true-awk/proto.h	Tue Jan 12 07:55:02 2010	(r202144)
@@ -149,7 +149,7 @@ extern	Cell	*call(Node **, int);
 extern	Cell	*copycell(Cell *);
 extern	Cell	*arg(Node **, int);
 extern	Cell	*jump(Node **, int);
-extern	Cell	*getline(Node **, int);
+extern	Cell	*awkgetline(Node **, int);
 extern	Cell	*getnf(Node **, int);
 extern	Cell	*array(Node **, int);
 extern	Cell	*awkdelete(Node **, int);

Modified: projects/ngroups/contrib/one-true-awk/run.c
==============================================================================
--- projects/ngroups/contrib/one-true-awk/run.c	Tue Jan 12 07:49:34 2010	(r202143)
+++ projects/ngroups/contrib/one-true-awk/run.c	Tue Jan 12 07:55:02 2010	(r202144)
@@ -22,6 +22,9 @@ ARISING OUT OF OR IN CONNECTION WITH THE
 THIS SOFTWARE.
 ****************************************************************/
 
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
 #define DEBUG
 #include <stdio.h>
 #include <ctype.h>
@@ -388,7 +391,7 @@ Cell *jump(Node **a, int n)	/* break, co
 	return 0;	/* not reached */
 }
 
-Cell *getline(Node **a, int n)	/* get next line from specific input */
+Cell *awkgetline(Node **a, int n)	/* get next line from specific input */
 {		/* a[0] is variable, a[1] is operator, a[2] is filename */
 	Cell *r, *x;
 	extern Cell **fldtab;
@@ -653,7 +656,7 @@ Cell *relop(Node **a, int n)	/* a[0 < a[
 		j = x->fval - y->fval;
 		i = j<0? -1: (j>0? 1: 0);
 	} else {
-		i = strcmp(getsval(x), getsval(y));
+		i = strcoll(getsval(x), getsval(y));
 	}
 	tempfree(x);
 	tempfree(y);
@@ -1159,11 +1162,11 @@ Cell *cat(Node **a, int q)	/* a[0] cat a
 			x->sval, y->sval);
 	strcpy(s, x->sval);
 	strcpy(s+n1, y->sval);
+	tempfree(x);
 	tempfree(y);
 	z = gettemp();
 	z->sval = s;
 	z->tval = STR;
-	tempfree(x);
 	return(z);
 }
 

Modified: projects/ngroups/contrib/opie/libopie/getutmpentry.c
==============================================================================
--- projects/ngroups/contrib/opie/libopie/getutmpentry.c	Tue Jan 12 07:49:34 2010	(r202143)
+++ projects/ngroups/contrib/opie/libopie/getutmpentry.c	Tue Jan 12 07:55:02 2010	(r202144)
@@ -15,13 +15,14 @@ you didn't get a copy, you may request o
 #include "opie_cfg.h"
 #include <stdio.h>
 #include <sys/types.h>
-#include <utmp.h>
 
 #if DOUTMPX
 #include <utmpx.h>
 #define setutent setutxent
 #define getutline(x) getutxline(x)
 #define utmp utmpx
+#else
+#include <utmp.h>
 #endif /* DOUTMPX */
 
 #if HAVE_STRING_H

Modified: projects/ngroups/contrib/opie/libopie/insecure.c
==============================================================================
--- projects/ngroups/contrib/opie/libopie/insecure.c	Tue Jan 12 07:49:34 2010	(r202143)
+++ projects/ngroups/contrib/opie/libopie/insecure.c	Tue Jan 12 07:55:02 2010	(r202144)
@@ -39,11 +39,12 @@ $FreeBSD$
 #include <sys/param.h>
 #include <unistd.h>
 
-#include <utmp.h>
 #if DOUTMPX
 #include <utmpx.h>
 #define utmp utmpx
 #define endutent endutxent
+#else
+#include <utmp.h>
 #endif	/* DOUTMPX */
 
 #if HAVE_SYS_UTSNAME_H

Modified: projects/ngroups/contrib/opie/libopie/login.c
==============================================================================
--- projects/ngroups/contrib/opie/libopie/login.c	Tue Jan 12 07:49:34 2010	(r202143)
+++ projects/ngroups/contrib/opie/libopie/login.c	Tue Jan 12 07:55:02 2010	(r202144)
@@ -21,13 +21,14 @@ you didn't get a copy, you may request o
 #include "opie_cfg.h"
 #include <stdio.h>
 #include <sys/types.h>
-#include <utmp.h>
 
 #if DOUTMPX
 #include <utmpx.h>
 #define pututline(x) pututxline(x)
 #define endutent endutxent
 #define utmp utmpx
+#else
+#include <utmp.h>
 #endif /* DOUTMPX */
 
 #if HAVE_STRING_H

Modified: projects/ngroups/etc/rc.firewall
==============================================================================
--- projects/ngroups/etc/rc.firewall	Tue Jan 12 07:49:34 2010	(r202143)
+++ projects/ngroups/etc/rc.firewall	Tue Jan 12 07:55:02 2010	(r202144)
@@ -220,6 +220,8 @@ case ${firewall_type} in
 		# Allow any link-local multicast traffic
 		${fwcmd} add pass all from fe80::/10 to ff02::/16
 		${fwcmd} add pass all from ${net6} to ff02::/16
+		# Allow DHCPv6
+		${fwcmd} add pass udp from fe80::/10 to me6 546
 	fi
 
 	# Allow TCP through if setup succeeded

Modified: projects/ngroups/etc/termcap.small
==============================================================================
--- projects/ngroups/etc/termcap.small	Tue Jan 12 07:49:34 2010	(r202143)
+++ projects/ngroups/etc/termcap.small	Tue Jan 12 07:55:02 2010	(r202144)
@@ -294,9 +294,9 @@ pc3|ibmpc3|IBM PC 386BSD Console:\
 # $XTermId: termcap,v 1.78 2009/11/09 00:24:26 tom Exp $
 #
 xterm-new|modern xterm:\
-	:*6=\EOF:@7=\EOF:F1=\E[23~:F2=\E[24~:K2=\EOE:Km=\E[M:\
+	:@7=\EOF:@8=\EOM:F1=\E[23~:F2=\E[24~:K2=\EOE:Km=\E[M:\
 	:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:\
-	:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kH=\EOF:kI=\E[2~:\
+	:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kI=\E[2~:\
 	:kN=\E[6~:kP=\E[5~:kd=\EOB:kh=\EOH:kl=\EOD:kr=\EOC:ku=\EOA:\
 	:tc=xterm-basic:
 #

Modified: projects/ngroups/games/fortune/datfiles/freebsd-tips
==============================================================================
--- projects/ngroups/games/fortune/datfiles/freebsd-tips	Tue Jan 12 07:49:34 2010	(r202143)
+++ projects/ngroups/games/fortune/datfiles/freebsd-tips	Tue Jan 12 07:55:02 2010	(r202144)
@@ -50,18 +50,6 @@ If you are in the C shell and have just 
 be able to run it unless you first type "rehash".
 		-- Dru <genesis@istar.ca>
 %
-If you are running xterm, the default TERM variable will be 'xterm'.  If you
-set this environment variable to 'xterm-color' instead, a lot of programs will
-use colors.  You can do this by
-
-	TERM=xterm-color; export TERM
-
-in Bourne-derived shells, and
-
-	setenv TERM xterm-color
-
-in csh-derived shells.
-%
 If you do not want to get beeps in X11 (X Windows), you can turn them off with
 
 	xset b off

Modified: projects/ngroups/kerberos5/usr.bin/kdestroy/Makefile
==============================================================================
--- projects/ngroups/kerberos5/usr.bin/kdestroy/Makefile	Tue Jan 12 07:49:34 2010	(r202143)
+++ projects/ngroups/kerberos5/usr.bin/kdestroy/Makefile	Tue Jan 12 07:55:02 2010	(r202144)
@@ -2,7 +2,7 @@
 
 PROG=	kdestroy
 CFLAGS+=-I${KRB5DIR}/lib/roken
-DPADD=	${LIBKAFS5} ${LIBKRB5} ${LIBHX509) ${LIBROKEN} ${LIBVERS} \
+DPADD=	${LIBKAFS5} ${LIBKRB5} ${LIBHX509} ${LIBROKEN} ${LIBVERS} \
 	${LIBASN1} ${LIBCRYPTO} ${LIBCRYPT} ${LIBCOM_ERR}
 LDADD=	-lkafs5 -lkrb5 -lhx509 -lroken ${LIBVERS} \
 	-lasn1 -lcrypto -lcrypt -lcom_err

Modified: projects/ngroups/kerberos5/usr.bin/kpasswd/Makefile
==============================================================================
--- projects/ngroups/kerberos5/usr.bin/kpasswd/Makefile	Tue Jan 12 07:49:34 2010	(r202143)
+++ projects/ngroups/kerberos5/usr.bin/kpasswd/Makefile	Tue Jan 12 07:55:02 2010	(r202144)
@@ -2,7 +2,7 @@
 
 PROG=	kpasswd
 CFLAGS+=-I${KRB5DIR}/lib/roken
-DPADD=	${LIBKRB5} ${LIBHX509 ${LIBROKEN} ${LIBVERS} \
+DPADD=	${LIBKRB5} ${LIBHX509} ${LIBROKEN} ${LIBVERS} \
 	${LIBASN1} ${LIBCRYPTO} ${LIBCRYPT} ${LIBCOM_ERR}
 LDADD=	-lkrb5 -lhx509 -lroken ${LIBVERS} \
 	-lasn1 -lcrypto -lcrypt -lcom_err

Modified: projects/ngroups/lib/libc/Makefile
==============================================================================
--- projects/ngroups/lib/libc/Makefile	Tue Jan 12 07:49:34 2010	(r202143)
+++ projects/ngroups/lib/libc/Makefile	Tue Jan 12 07:55:02 2010	(r202144)
@@ -64,7 +64,7 @@ NOASM=
 .include "${.CURDIR}/rpc/Makefile.inc"
 .include "${.CURDIR}/uuid/Makefile.inc"
 .include "${.CURDIR}/xdr/Makefile.inc"
-.if ${MACHINE_ARCH} == "arm"
+.if ${MACHINE_ARCH} == "arm" || ${MACHINE_ARCH} == "mips"
 .include "${.CURDIR}/softfloat/Makefile.inc"
 .endif
 .if ${MK_NIS} != "no"

Modified: projects/ngroups/lib/libc/gen/sem_init.3
==============================================================================
--- projects/ngroups/lib/libc/gen/sem_init.3	Tue Jan 12 07:49:34 2010	(r202143)
+++ projects/ngroups/lib/libc/gen/sem_init.3	Tue Jan 12 07:55:02 2010	(r202144)
@@ -27,7 +27,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd January 7, 2010
+.Dd January 9, 2010
 .Dt SEM_INIT 3
 .Os
 .Sh NAME
@@ -46,9 +46,19 @@ function initializes the unnamed semapho
 .Fa sem
 to have the value
 .Fa value .
+.Pp
 A non-zero value for
 .Fa pshared
-specifies a shared semaphore that can be used by multiple processes.
+specifies a shared semaphore that can be used by multiple processes,
+the semaphore should be located in shared memory region (see
+.Xr mmap 2 ,
+.Xr shm_open 2 ,
+and
+.Xr shmget 2 ) ,
+any process having read and write access to address
+.Fa sem
+can perform semaphore operations on
+.Fa sem .
 .Pp
 Following a successful call to
 .Fn sem_init ,

Modified: projects/ngroups/lib/libc/gen/sem_open.3
==============================================================================
--- projects/ngroups/lib/libc/gen/sem_open.3	Tue Jan 12 07:49:34 2010	(r202143)
+++ projects/ngroups/lib/libc/gen/sem_open.3	Tue Jan 12 07:55:02 2010	(r202144)
@@ -27,7 +27,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd January 15, 2003
+.Dd January 9, 2010
 .Dt SEM_OPEN 3
 .Os
 .Sh NAME
@@ -58,6 +58,12 @@ The returned semaphore may be used in su
 and
 .Fn sem_close .
 .Pp
+This implementation places strict requirements on the value of
+.Fa name :
+it must begin with a slash
+.Pq Ql /
+and contain no other slash characters.
+.Pp
 The following bits may be set in the
 .Fa oflag
 argument:
@@ -217,11 +223,3 @@ functions conform to
 .Sh HISTORY
 Support for named semaphores first appeared in
 .Fx 5.0 .
-.Sh BUGS
-This implementation places strict requirements on the value of
-.Fa name :
-it must begin with a slash
-.Pq Ql / ,
-contain no other slash characters,
-and be less than 14 characters in length
-not including the terminating null character.

Modified: projects/ngroups/lib/libc/mips/Symbol.map
==============================================================================
--- projects/ngroups/lib/libc/mips/Symbol.map	Tue Jan 12 07:49:34 2010	(r202143)
+++ projects/ngroups/lib/libc/mips/Symbol.map	Tue Jan 12 07:55:02 2010	(r202144)
@@ -56,9 +56,27 @@ FBSDprivate_1.0 {
 	__siglongjmp;
 	__sys_vfork;
 	_vfork;
-	end;		/* XXX - Should this be _end (see sys/brk.S)? */
-	curbrk;
+	_end;
+	__curbrk;
 	minbrk;
 	_brk;
 	_sbrk;
+
+	/* softfloat */
+	__addsf3;
+	__adddf3;
+	__subsf3;
+	__subdf3;
+	__mulsf3;
+	__muldf3;
+	__divsf3;
+	__divdf3;
+	__floatsisf;
+	__floatsidf;
+	__fixsfsi;
+	__fixdfsi;
+	__fixunssfsi;
+	__fixunsdfsi;
+	__extendsfdf2;
+	__truncdfsf2;
 };

Modified: projects/ngroups/lib/libc/mips/sys/brk.S
==============================================================================
--- projects/ngroups/lib/libc/mips/sys/brk.S	Tue Jan 12 07:49:34 2010	(r202143)
+++ projects/ngroups/lib/libc/mips/sys/brk.S	Tue Jan 12 07:55:02 2010	(r202144)
@@ -42,15 +42,12 @@ __FBSDID("$FreeBSD$");
 #endif /* LIBC_SCCS and not lint */
 
 	.globl	_C_LABEL(minbrk)
-	.globl	_C_LABEL(curbrk)
+	.globl	_C_LABEL(__curbrk)
 	.globl	_C_LABEL(_end)
 
 	.data
 _C_LABEL(minbrk):
 	.word	_C_LABEL(_end)
-_C_LABEL(curbrk):
-	.word	_C_LABEL(_end)
-	.text
 
 LEAF(__sys_brk)
 	WEAK_ALIAS(brk, __sys_brk)
@@ -67,7 +64,7 @@ LEAF(__sys_brk)
 	li	v0, SYS_break
 	syscall
 	bne	a3, zero, 2f
-	sw	a0, _C_LABEL(curbrk)
+	sw	a0, _C_LABEL(__curbrk)
 	move	v0, zero
 	j	ra
 2:

Modified: projects/ngroups/lib/libc/stdio/fread.c
==============================================================================
--- projects/ngroups/lib/libc/stdio/fread.c	Tue Jan 12 07:49:34 2010	(r202143)
+++ projects/ngroups/lib/libc/stdio/fread.c	Tue Jan 12 07:55:02 2010	(r202144)
@@ -37,6 +37,8 @@ static char sccsid[] = "@(#)fread.c	8.2 
 __FBSDID("$FreeBSD$");
 
 #include "namespace.h"
+#include <errno.h>
+#include <stdint.h>
 #include <stdio.h>
 #include <string.h>
 #include "un-namespace.h"
@@ -69,8 +71,27 @@ __fread(void * __restrict buf, size_t si
 	/*
 	 * ANSI and SUSv2 require a return value of 0 if size or count are 0.
 	 */
-	if ((resid = count * size) == 0)
+	if ((count == 0) || (size == 0))
 		return (0);
+
+	/*
+	 * Check for integer overflow.  As an optimization, first check that
+	 * at least one of {count, size} is at least 2^16, since if both
+	 * values are less than that, their product can't possible overflow
+	 * (size_t is always at least 32 bits on FreeBSD).
+	 */
+	if (((count | size) > 0xFFFF) &&
+	    (count > SIZE_MAX / size)) {
+		errno = EINVAL;
+		fp->_flags |= __SERR;
+		return (0);
+	}
+
+	/*
+	 * Compute the (now required to not overflow) number of bytes to
+	 * read and actually do the work.
+	 */
+	resid = count * size;
 	ORIENT(fp, -1);
 	if (fp->_r < 0)
 		fp->_r = 0;

Modified: projects/ngroups/lib/libc/stdio/fwrite.c
==============================================================================
--- projects/ngroups/lib/libc/stdio/fwrite.c	Tue Jan 12 07:49:34 2010	(r202143)
+++ projects/ngroups/lib/libc/stdio/fwrite.c	Tue Jan 12 07:55:02 2010	(r202144)
@@ -37,6 +37,8 @@ static char sccsid[] = "@(#)fwrite.c	8.1
 __FBSDID("$FreeBSD$");
 
 #include "namespace.h"
+#include <errno.h>
+#include <stdint.h>
 #include <stdio.h>
 #include "un-namespace.h"
 #include "local.h"
@@ -60,10 +62,24 @@ fwrite(buf, size, count, fp)
 	/*
 	 * ANSI and SUSv2 require a return value of 0 if size or count are 0.
 	 */
-	n = count * size;
-	if (n == 0)
+	if ((count == 0) || (size == 0))
 		return (0);
 
+	/*
+	 * Check for integer overflow.  As an optimization, first check that
+	 * at least one of {count, size} is at least 2^16, since if both
+	 * values are less than that, their product can't possible overflow
+	 * (size_t is always at least 32 bits on FreeBSD).
+	 */
+	if (((count | size) > 0xFFFF) &&
+	    (count > SIZE_MAX / size)) {
+		errno = EINVAL;
+		fp->_flags |= __SERR;
+		return (0);
+	}
+
+	n = count * size;
+
 	iov.iov_base = (void *)buf;
 	uio.uio_resid = iov.iov_len = n;
 	uio.uio_iov = &iov;

Modified: projects/ngroups/lib/libc/sys/cpuset.2
==============================================================================
--- projects/ngroups/lib/libc/sys/cpuset.2	Tue Jan 12 07:49:34 2010	(r202143)
+++ projects/ngroups/lib/libc/sys/cpuset.2	Tue Jan 12 07:55:02 2010	(r202144)
@@ -25,7 +25,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd March 29, 2008
+.Dd January 8, 2010
 .Dt CPUSET 2
 .Os
 .Sh NAME
@@ -216,7 +216,9 @@ for allocation.
 .Xr cpuset 1 ,
 .Xr cpuset_getaffinity 2 ,
 .Xr cpuset_setaffinity 2 ,
-.Xr CPU_SET 3
+.Xr CPU_SET 3 ,
+.Xr pthread_affinity_np 3 ,
+.Xr pthread_attr_affinity_np 3
 .Sh HISTORY
 The
 .Nm

Modified: projects/ngroups/lib/libc/sys/cpuset_getaffinity.2
==============================================================================
--- projects/ngroups/lib/libc/sys/cpuset_getaffinity.2	Tue Jan 12 07:49:34 2010	(r202143)
+++ projects/ngroups/lib/libc/sys/cpuset_getaffinity.2	Tue Jan 12 07:55:02 2010	(r202144)
@@ -25,7 +25,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd November 29, 2008
+.Dd January 8, 2010
 .Dt CPUSET 2
 .Os
 .Sh NAME
@@ -147,7 +147,9 @@ operation.
 .Xr cpuset 2 ,
 .Xr cpuset_getid 2 ,
 .Xr cpuset_setid 2 ,
-.Xr CPU_SET 3
+.Xr CPU_SET 3 ,
+.Xr pthread_affinity_np 3 ,
+.Xr pthread_attr_affinity_np 3
 .Sh HISTORY
 The
 .Nm

Modified: projects/ngroups/lib/libstand/dosfs.c
==============================================================================
--- projects/ngroups/lib/libstand/dosfs.c	Tue Jan 12 07:49:34 2010	(r202143)
+++ projects/ngroups/lib/libstand/dosfs.c	Tue Jan 12 07:55:02 2010	(r202144)
@@ -47,6 +47,7 @@ static int	dos_close(struct open_file *f
 static int	dos_read(struct open_file *fd, void *buf, size_t size, size_t *resid);
 static off_t	dos_seek(struct open_file *fd, off_t offset, int whence);
 static int	dos_stat(struct open_file *fd, struct stat *sb);
+static int	dos_readdir(struct open_file *fd, struct dirent *d);
 
 struct fs_ops dosfs_fsops = {
 	"dosfs",
@@ -56,7 +57,7 @@ struct fs_ops dosfs_fsops = {
 	null_write,
 	dos_seek,
 	dos_stat,
-	null_readdir
+	dos_readdir
 };
 
 #define SECSIZ  512             /* sector size */
@@ -354,6 +355,72 @@ dos_stat(struct open_file *fd, struct st
     return (0);
 }
 
+static int
+dos_readdir(struct open_file *fd, struct dirent *d)
+{
+    DOS_FILE *f = (DOS_FILE *)fd->f_fsdata;
+    u_char fn[261];
+    DOS_DIR dd;
+    size_t res;
+    u_int chk, i, x, xdn;
+    int err;
+
+    x = chk = 0;
+    while (1) {
+	xdn = x;
+	x = 0;
+	err = dos_read(fd, &dd, sizeof(dd), &res);
+	if (err)
+	    return (err);
+	if (res == sizeof(dd))
+	    return (ENOENT);
+	if (dd.de.name[0] == 0)
+	    return (ENOENT);
+
+	/* Skip deleted entries */
+	if (dd.de.name[0] == 0xe5)
+	    continue;
+
+	/* Skip volume labels */
+	if (dd.de.attr & FA_LABEL)
+	    continue;
+
+	if ((dd.de.attr & FA_MASK) == FA_XDE) {
+	    if (dd.xde.seq & 0x40)
+		chk = dd.xde.chk;
+	    else if (dd.xde.seq != xdn - 1 || dd.xde.chk != chk)
+		continue;
+	    x = dd.xde.seq & ~0x40;
+	    if (x < 1 || x > 20) {
+		x = 0;
+		continue;
+	    }
+	    cp_xdnm(fn, &dd.xde);
+	} else {
+	    if (xdn == 1) {
+		x = 0;
+		for (i = 0; i < 11; i++) {
+		    x = ((x & 1) << 7) | (x >> 1);
+		    x += dd.de.name[i];
+		    x &= 0xff;
+		}
+		if (x == chk)
+		    break;
+	    } else {
+		cp_sfn(fn, &dd.de);
+		break;
+	    }
+	    x = 0;
+	}
+    }
+
+    d->d_fileno = dd.de.clus[1] << 8 + dd.de.clus[0];
+    d->d_reclen = sizeof(*d);
+    d->d_type = (dd.de.attr & FA_DIR) ? DT_DIR : DT_REG;
+    memcpy(d->d_name, fn, sizeof(d->d_name));
+    return(0);
+}
+
 /*
  * Parse DOS boot sector
  */

Modified: projects/ngroups/lib/libthr/arch/mips/include/pthread_md.h
==============================================================================
--- projects/ngroups/lib/libthr/arch/mips/include/pthread_md.h	Tue Jan 12 07:49:34 2010	(r202143)
+++ projects/ngroups/lib/libthr/arch/mips/include/pthread_md.h	Tue Jan 12 07:55:02 2010	(r202144)
@@ -60,7 +60,8 @@ void		_tcb_dtor(struct tcb *);
 static __inline void
 _tcb_set(struct tcb *tcb)
 {
-	mips_tcb_set(tcb);
+
+	sysarch(MIPS_SET_TLS, tcb);
 }
 
 /*
@@ -69,7 +70,10 @@ _tcb_set(struct tcb *tcb)
 static __inline struct tcb *
 _tcb_get(void)
 {
-	return (mips_tcb_get());
+	void *tcb;
+
+	sysarch(MIPS_GET_TLS, &tcb);
+	return tcb;
 }
 
 extern struct pthread *_thr_initial;

Modified: projects/ngroups/lib/libusb/libusb20.c
==============================================================================
--- projects/ngroups/lib/libusb/libusb20.c	Tue Jan 12 07:49:34 2010	(r202143)
+++ projects/ngroups/lib/libusb/libusb20.c	Tue Jan 12 07:55:02 2010	(r202144)
@@ -130,8 +130,19 @@ libusb20_tr_close(struct libusb20_transf
 	if (xfer->ppBuffer) {
 		free(xfer->ppBuffer);
 	}
-	/* clear some fields */
+	/* reset variable fields in case the transfer is opened again */
+	xfer->priv_sc0 = 0;
+	xfer->priv_sc1 = 0;
 	xfer->is_opened = 0;
+	xfer->is_pending = 0;
+	xfer->is_cancel = 0;
+	xfer->is_draining = 0;
+	xfer->is_restart = 0;
+	xfer->status = 0;
+	xfer->flags = 0;
+	xfer->nFrames = 0;
+	xfer->aFrames = 0;
+	xfer->timeout = 0;
 	xfer->maxFrames = 0;
 	xfer->maxTotalLength = 0;
 	xfer->maxPacketLen = 0;

Modified: projects/ngroups/sbin/fsck_ffs/pass2.c
==============================================================================
--- projects/ngroups/sbin/fsck_ffs/pass2.c	Tue Jan 12 07:49:34 2010	(r202143)
+++ projects/ngroups/sbin/fsck_ffs/pass2.c	Tue Jan 12 07:55:02 2010	(r202144)
@@ -36,12 +36,14 @@ static const char sccsid[] = "@(#)pass2.
 __FBSDID("$FreeBSD$");
 
 #include <sys/param.h>
+#include <sys/sysctl.h>
 
 #include <ufs/ufs/dinode.h>
 #include <ufs/ufs/dir.h>
 #include <ufs/ffs/fs.h>
 
 #include <err.h>
+#include <errno.h>
 #include <stdint.h>
 #include <string.h>
 
@@ -49,6 +51,8 @@ __FBSDID("$FreeBSD$");
 
 #define MINDIRSIZE	(sizeof (struct dirtemplate))
 
+static int fix_extraneous(struct inoinfo *, struct inodesc *);
+static int deleteentry(struct inodesc *);
 static int blksort(const void *, const void *);
 static int pass2check(struct inodesc *);
 
@@ -212,9 +216,48 @@ pass2(void)
 			inoinfo(inp->i_parent)->ino_linkcnt--;
 			continue;
 		}
-		fileerror(inp->i_parent, inp->i_number,
-		    "BAD INODE NUMBER FOR '..'");
-		if (reply("FIX") == 0)
+		/*
+		 * Here we have:
+		 *    inp->i_number is directory with bad ".." in it.
+		 *    inp->i_dotdot is current value of "..".
+		 *    inp->i_parent is directory to which ".." should point.
+		 */
+		getpathname(pathbuf, inp->i_parent, inp->i_number);
+		printf("BAD INODE NUMBER FOR '..' in DIR I=%d (%s)\n",
+		    inp->i_number, pathbuf);
+		getpathname(pathbuf, inp->i_dotdot, inp->i_dotdot);
+		printf("CURRENTLY POINTS TO I=%d (%s), ", inp->i_dotdot,
+		    pathbuf);
+		getpathname(pathbuf, inp->i_parent, inp->i_parent);
+		printf("SHOULD POINT TO I=%d (%s)", inp->i_parent, pathbuf);
+		if (cursnapshot != 0) {
+			/*
+			 * We need to:
+			 *    setcwd(inp->i_number);
+			 *    setdotdot(inp->i_dotdot, inp->i_parent);
+			 */
+			cmd.value = inp->i_number;
+			if (sysctlbyname("vfs.ffs.setcwd", 0, 0,
+			    &cmd, sizeof cmd) == -1) {
+				/* kernel lacks support for these functions */
+				printf(" (IGNORED)\n");
+				continue;
+			}
+			cmd.value = inp->i_dotdot; /* verify same value */
+			cmd.size = inp->i_parent;  /* new parent */
+			if (sysctlbyname("vfs.ffs.setdotdot", 0, 0,
+			    &cmd, sizeof cmd) == -1) {
+				printf(" (FIX FAILED: %s)\n", strerror(errno));
+				continue;
+			}
+			printf(" (FIXED)\n");
+			inoinfo(inp->i_parent)->ino_linkcnt--;
+			inp->i_dotdot = inp->i_parent;
+			continue;
+		}
+		if (preen)
+			printf(" (FIXED)\n");
+		else if (reply("FIX") == 0)
 			continue;
 		inoinfo(inp->i_dotdot)->ino_linkcnt++;
 		inoinfo(inp->i_parent)->ino_linkcnt--;
@@ -236,8 +279,6 @@ pass2check(struct inodesc *idesc)
 	union dinode *dp;
 	const char *errmsg;
 	struct direct proto;
-	char namebuf[MAXPATHLEN + 1];
-	char pathbuf[MAXPATHLEN + 1];
 
 	/*
 	 * check for "."
@@ -416,27 +457,12 @@ again:
 
 		case DFOUND:
 			inp = getinoinfo(dirp->d_ino);
-			if (inp->i_parent != 0 && idesc->id_entryno > 2) {
-				getpathname(pathbuf, idesc->id_number,
-				    idesc->id_number);
-				getpathname(namebuf, dirp->d_ino, dirp->d_ino);
-				pwarn("%s%s%s %s %s\n", pathbuf,
-				    (strcmp(pathbuf, "/") == 0 ? "" : "/"),
-				    dirp->d_name,
-				    "IS AN EXTRANEOUS HARD LINK TO DIRECTORY",
-				    namebuf);
-				if (cursnapshot != 0)
-					break;
-				if (preen) {
-					printf(" (REMOVED)\n");
-					n = 1;
-					break;
-				}
-				if ((n = reply("REMOVE")) == 1)
+			if (idesc->id_entryno > 2) {
+				if (inp->i_parent == 0)
+					inp->i_parent = idesc->id_number;
+				else if ((n = fix_extraneous(inp, idesc)) == 1)
 					break;
 			}
-			if (idesc->id_entryno > 2)
-				inp->i_parent = idesc->id_number;
 			/* FALLTHROUGH */
 
 		case FSTATE:
@@ -462,6 +488,143 @@ again:
 	return (ret|KEEPON|ALTERED);
 }
 
+static int
+fix_extraneous(struct inoinfo *inp, struct inodesc *idesc)
+{
+	char *cp;
+	struct inodesc dotdesc;
+	char oldname[MAXPATHLEN + 1];
+	char newname[MAXPATHLEN + 1];
+	
+	/*
+	 * If we have not yet found "..", look it up now so we know
+	 * which inode the directory itself believes is its parent.
+	 */
+	if (inp->i_dotdot == 0) {
+		memset(&dotdesc, 0, sizeof(struct inodesc));
+		dotdesc.id_type = DATA;
+		dotdesc.id_number = idesc->id_dirp->d_ino;
+		dotdesc.id_func = findino;
+		dotdesc.id_name = strdup("..");
+		if ((ckinode(ginode(dotdesc.id_number), &dotdesc) & FOUND))
+			inp->i_dotdot = dotdesc.id_parent;
+	}
+	/*
+	 * We have the previously found old name (inp->i_parent) and the
+	 * just found new name (idesc->id_number). We have five cases:
+	 * 1)  ".." is missing - can remove either name, choose to delete
+	 *     new one and let fsck create ".." pointing to old name.
+	 * 2) Both new and old are in same directory, choose to delete
+	 *    the new name and let fsck fix ".." if it is wrong.
+	 * 3) ".." does not point to the new name, so delete it and let
+	 *    fsck fix ".." to point to the old one if it is wrong.
+	 * 4) ".." points to the old name only, so delete the new one.
+	 * 5) ".." points to the new name only, so delete the old one.
+	 *
+	 * For cases 1-4 we eliminate the new name;
+	 * for case 5 we eliminate the old name.
+	 */
+	if (inp->i_dotdot == 0 ||		    /* Case 1 */
+	    idesc->id_number == inp->i_parent ||    /* Case 2 */
+	    inp->i_dotdot != idesc->id_number ||    /* Case 3 */
+	    inp->i_dotdot == inp->i_parent) {	    /* Case 4 */
+		getpathname(newname, idesc->id_number, idesc->id_number);
+		if (strcmp(newname, "/") != 0)
+			strcat (newname, "/");
+		strcat(newname, idesc->id_dirp->d_name);
+		getpathname(oldname, inp->i_number, inp->i_number);
+		pwarn("%s IS AN EXTRANEOUS HARD LINK TO DIRECTORY %s",
+		    newname, oldname);
+		if (cursnapshot != 0) {
+			/*
+			 * We need to
+			 *    setcwd(idesc->id_number);
+			 *    unlink(idesc->id_dirp->d_name);
+			 */
+			cmd.value = idesc->id_number;
+			if (sysctlbyname("vfs.ffs.setcwd", 0, 0,
+			    &cmd, sizeof cmd) == -1) {
+				printf(" (IGNORED)\n");

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

From owner-svn-src-projects@FreeBSD.ORG  Tue Jan 12 16:32:59 2010
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 90CC3106568D;
	Tue, 12 Jan 2010 16:32:59 +0000 (UTC)
	(envelope-from rodrigc@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 7E2648FC1F;
	Tue, 12 Jan 2010 16:32:59 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o0CGWxt4039304;
	Tue, 12 Jan 2010 16:32:59 GMT (envelope-from rodrigc@svn.freebsd.org)
Received: (from rodrigc@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id o0CGWxfI039302;
	Tue, 12 Jan 2010 16:32:59 GMT (envelope-from rodrigc@svn.freebsd.org)
Message-Id: <201001121632.o0CGWxfI039302@svn.freebsd.org>
From: Craig Rodrigues <rodrigc@FreeBSD.org>
Date: Tue, 12 Jan 2010 16:32:59 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r202154 - projects/jbuild/usr.bin/jbuild/filemon
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Jan 2010 16:32:59 -0000

Author: rodrigc
Date: Tue Jan 12 16:32:59 2010
New Revision: 202154
URL: http://svn.freebsd.org/changeset/base/202154

Log:
  Add link(), symlink(), and linkat() calls to filemon.

Modified:
  projects/jbuild/usr.bin/jbuild/filemon/filemon_wrapper.c

Modified: projects/jbuild/usr.bin/jbuild/filemon/filemon_wrapper.c
==============================================================================
--- projects/jbuild/usr.bin/jbuild/filemon/filemon_wrapper.c	Tue Jan 12 15:15:55 2010	(r202153)
+++ projects/jbuild/usr.bin/jbuild/filemon/filemon_wrapper.c	Tue Jan 12 16:32:59 2010	(r202154)
@@ -270,6 +270,111 @@ filemon_wrapper_rename(struct thread *td
 }
 
 static int
+filemon_wrapper_link(struct thread *td, struct link_args *uap)
+{
+	int ret;
+	size_t done;
+	size_t len;
+	struct filemon *filemon;
+
+	if ((ret = link(td, uap)) == 0) {
+		/* Grab a read lock on the filemon inuse list. */
+		filemon_lock_read();
+
+		if ((filemon = filemon_pid_check(curproc)) != NULL) {
+			/* Lock the found filemon structure. */
+			filemon_filemon_lock(filemon);
+
+			copyinstr(uap->path, filemon->fname1, sizeof(filemon->fname1), &done);
+			copyinstr(uap->link, filemon->fname2, sizeof(filemon->fname2), &done);
+
+			len = snprintf(filemon->msgbufr, sizeof(filemon->msgbufr), "L %d '%s' '%s'\n",
+			    curproc->p_pid, filemon->fname1, filemon->fname2);
+
+			filemon_output(filemon, filemon->msgbufr, len);
+
+			/* Unlock the found filemon structure. */
+			filemon_filemon_unlock(filemon);
+		}
+
+		/* Release the read lock. */
+		filemon_unlock_read();
+	}
+
+	return(ret);
+}
+
+static int
+filemon_wrapper_symlink(struct thread *td, struct symlink_args *uap)
+{
+	int ret;
+	size_t done;
+	size_t len;
+	struct filemon *filemon;
+
+	if ((ret = symlink(td, uap)) == 0) {
+		/* Grab a read lock on the filemon inuse list. */
+		filemon_lock_read();
+
+		if ((filemon = filemon_pid_check(curproc)) != NULL) {
+			/* Lock the found filemon structure. */
+			filemon_filemon_lock(filemon);
+
+			copyinstr(uap->path, filemon->fname1, sizeof(filemon->fname1), &done);
+			copyinstr(uap->link, filemon->fname2, sizeof(filemon->fname2), &done);
+
+			len = snprintf(filemon->msgbufr, sizeof(filemon->msgbufr), "L %d '%s' '%s'\n",
+			    curproc->p_pid, filemon->fname1, filemon->fname2);
+
+			filemon_output(filemon, filemon->msgbufr, len);
+
+			/* Unlock the found filemon structure. */
+			filemon_filemon_unlock(filemon);
+		}
+
+		/* Release the read lock. */
+		filemon_unlock_read();
+	}
+
+	return(ret);
+}
+
+static int
+filemon_wrapper_linkat(struct thread *td, struct linkat_args *uap)
+{
+	int ret;
+	size_t done;
+	size_t len;
+	struct filemon *filemon;
+
+	if ((ret = linkat(td, uap)) == 0) {
+		/* Grab a read lock on the filemon inuse list. */
+		filemon_lock_read();
+
+		if ((filemon = filemon_pid_check(curproc)) != NULL) {
+			/* Lock the found filemon structure. */
+			filemon_filemon_lock(filemon);
+
+			copyinstr(uap->path1, filemon->fname1, sizeof(filemon->fname1), &done);
+			copyinstr(uap->path2, filemon->fname2, sizeof(filemon->fname2), &done);
+
+			len = snprintf(filemon->msgbufr, sizeof(filemon->msgbufr), "L %d '%s' '%s'\n",
+			    curproc->p_pid, filemon->fname1, filemon->fname2);
+
+			filemon_output(filemon, filemon->msgbufr, len);
+
+			/* Unlock the found filemon structure. */
+			filemon_filemon_unlock(filemon);
+		}
+
+		/* Release the read lock. */
+		filemon_unlock_read();
+	}
+
+	return(ret);
+}
+
+static int
 filemon_wrapper_stat(struct thread *td, struct stat_args *uap)
 {
 	int ret;
@@ -458,6 +563,9 @@ filemon_wrapper_install(void)
 	sv_table[SYS_stat].sy_call = (sy_call_t *) filemon_wrapper_stat;
 	sv_table[SYS_unlink].sy_call = (sy_call_t *) filemon_wrapper_unlink;
 	sv_table[SYS_vfork].sy_call = (sy_call_t *) filemon_wrapper_vfork;
+	sv_table[SYS_link].sy_call = (sy_call_t *) filemon_wrapper_link;
+	sv_table[SYS_symlink].sy_call = (sy_call_t *) filemon_wrapper_symlink;
+	sv_table[SYS_linkat].sy_call = (sy_call_t *) filemon_wrapper_linkat;
 
 #ifdef COMPAT_IA32
 	sv_table = ia32_freebsd_sysvec.sv_table;
@@ -471,6 +579,9 @@ filemon_wrapper_install(void)
 	sv_table[FREEBSD32_SYS_freebsd32_stat].sy_call = (sy_call_t *) filemon_wrapper_freebsd32_stat;
 	sv_table[FREEBSD32_SYS_unlink].sy_call = (sy_call_t *) filemon_wrapper_unlink;
 	sv_table[FREEBSD32_SYS_vfork].sy_call = (sy_call_t *) filemon_wrapper_vfork;
+	sv_table[FREEBSD32_SYS_link].sy_call = (sy_call_t *) filemon_wrapper_link;
+	sv_table[FREEBSD32_SYS_symlink].sy_call = (sy_call_t *) filemon_wrapper_symlink;
+	sv_table[FREEBSD32_SYS_linkat].sy_call = (sy_call_t *) filemon_wrapper_linkat;
 #endif
 
 
@@ -496,6 +607,9 @@ filemon_wrapper_deinstall(void)
 	sv_table[SYS_stat].sy_call = (sy_call_t *) stat;
 	sv_table[SYS_unlink].sy_call = (sy_call_t *) unlink;
 	sv_table[SYS_vfork].sy_call = (sy_call_t *) vfork;
+	sv_table[SYS_link].sy_call = (sy_call_t *) link;
+	sv_table[SYS_symlink].sy_call = (sy_call_t *) symlink;
+	sv_table[SYS_linkat].sy_call = (sy_call_t *) linkat;
 
 #ifdef COMPAT_IA32
 	sv_table = ia32_freebsd_sysvec.sv_table;
@@ -509,6 +623,9 @@ filemon_wrapper_deinstall(void)
 	sv_table[FREEBSD32_SYS_freebsd32_stat].sy_call = (sy_call_t *) freebsd32_stat;
 	sv_table[FREEBSD32_SYS_unlink].sy_call = (sy_call_t *) unlink;
 	sv_table[FREEBSD32_SYS_vfork].sy_call = (sy_call_t *) vfork;
+	sv_table[FREEBSD32_SYS_link].sy_call = (sy_call_t *) link;
+	sv_table[FREEBSD32_SYS_symlink].sy_call = (sy_call_t *) symlink;
+	sv_table[FREEBSD32_SYS_linkat].sy_call = (sy_call_t *) linkat;
 #endif
 
 }

From owner-svn-src-projects@FreeBSD.ORG  Tue Jan 12 16:33:56 2010
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 1866B106566B;
	Tue, 12 Jan 2010 16:33:56 +0000 (UTC)
	(envelope-from rodrigc@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id E1F2B8FC1D;
	Tue, 12 Jan 2010 16:33:55 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o0CGXtKQ039557;
	Tue, 12 Jan 2010 16:33:55 GMT (envelope-from rodrigc@svn.freebsd.org)
Received: (from rodrigc@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id o0CGXtdc039555;
	Tue, 12 Jan 2010 16:33:55 GMT (envelope-from rodrigc@svn.freebsd.org)
Message-Id: <201001121633.o0CGXtdc039555@svn.freebsd.org>
From: Craig Rodrigues <rodrigc@FreeBSD.org>
Date: Tue, 12 Jan 2010 16:33:55 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r202155 - projects/jbuild/usr.bin/jbuild
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Jan 2010 16:33:56 -0000

Author: rodrigc
Date: Tue Jan 12 16:33:55 2010
New Revision: 202155
URL: http://svn.freebsd.org/changeset/base/202155

Log:
  Bump version.

Modified:
  projects/jbuild/usr.bin/jbuild/jbuild_version

Modified: projects/jbuild/usr.bin/jbuild/jbuild_version
==============================================================================
--- projects/jbuild/usr.bin/jbuild/jbuild_version	Tue Jan 12 16:32:59 2010	(r202154)
+++ projects/jbuild/usr.bin/jbuild/jbuild_version	Tue Jan 12 16:33:55 2010	(r202155)
@@ -1,5 +1,5 @@
 # $FreeBSD$
 
-JBUILD_VERSION = 17
+JBUILD_VERSION = 18
 
 CFLAGS += -DJBUILD_VERSION=\"${JBUILD_VERSION}\"

From owner-svn-src-projects@FreeBSD.ORG  Tue Jan 12 19:59:54 2010
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 965F11065672;
	Tue, 12 Jan 2010 19:59:54 +0000 (UTC)
	(envelope-from rodrigc@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 6C24D8FC08;
	Tue, 12 Jan 2010 19:59:54 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o0CJxs2A085622;
	Tue, 12 Jan 2010 19:59:54 GMT (envelope-from rodrigc@svn.freebsd.org)
Received: (from rodrigc@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id o0CJxsxc085620;
	Tue, 12 Jan 2010 19:59:54 GMT (envelope-from rodrigc@svn.freebsd.org)
Message-Id: <201001121959.o0CJxsxc085620@svn.freebsd.org>
From: Craig Rodrigues <rodrigc@FreeBSD.org>
Date: Tue, 12 Jan 2010 19:59:54 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r202168 - projects/jbuild/usr.bin/jbuild/filemon
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Jan 2010 19:59:54 -0000

Author: rodrigc
Date: Tue Jan 12 19:59:54 2010
New Revision: 202168
URL: http://svn.freebsd.org/changeset/base/202168

Log:
  linkat() is only available for FreeBSD_version 800032 and higher.

Modified:
  projects/jbuild/usr.bin/jbuild/filemon/filemon_wrapper.c

Modified: projects/jbuild/usr.bin/jbuild/filemon/filemon_wrapper.c
==============================================================================
--- projects/jbuild/usr.bin/jbuild/filemon/filemon_wrapper.c	Tue Jan 12 19:55:07 2010	(r202167)
+++ projects/jbuild/usr.bin/jbuild/filemon/filemon_wrapper.c	Tue Jan 12 19:59:54 2010	(r202168)
@@ -339,6 +339,11 @@ filemon_wrapper_symlink(struct thread *t
 	return(ret);
 }
 
+#if __FreeBSD_version > 800032
+#define FILEMON_HAS_LINKAT
+#endif
+
+#ifdef FILEMON_HAS_LINKAT
 static int
 filemon_wrapper_linkat(struct thread *td, struct linkat_args *uap)
 {
@@ -373,7 +378,7 @@ filemon_wrapper_linkat(struct thread *td
 
 	return(ret);
 }
-
+#endif
 static int
 filemon_wrapper_stat(struct thread *td, struct stat_args *uap)
 {
@@ -565,7 +570,9 @@ filemon_wrapper_install(void)
 	sv_table[SYS_vfork].sy_call = (sy_call_t *) filemon_wrapper_vfork;
 	sv_table[SYS_link].sy_call = (sy_call_t *) filemon_wrapper_link;
 	sv_table[SYS_symlink].sy_call = (sy_call_t *) filemon_wrapper_symlink;
+#ifdef FILEMON_HAS_LINKAT
 	sv_table[SYS_linkat].sy_call = (sy_call_t *) filemon_wrapper_linkat;
+#endif
 
 #ifdef COMPAT_IA32
 	sv_table = ia32_freebsd_sysvec.sv_table;
@@ -581,8 +588,10 @@ filemon_wrapper_install(void)
 	sv_table[FREEBSD32_SYS_vfork].sy_call = (sy_call_t *) filemon_wrapper_vfork;
 	sv_table[FREEBSD32_SYS_link].sy_call = (sy_call_t *) filemon_wrapper_link;
 	sv_table[FREEBSD32_SYS_symlink].sy_call = (sy_call_t *) filemon_wrapper_symlink;
+#ifdef FILEMON_HAS_LINKAT
 	sv_table[FREEBSD32_SYS_linkat].sy_call = (sy_call_t *) filemon_wrapper_linkat;
 #endif
+#endif
 
 
 }
@@ -609,7 +618,9 @@ filemon_wrapper_deinstall(void)
 	sv_table[SYS_vfork].sy_call = (sy_call_t *) vfork;
 	sv_table[SYS_link].sy_call = (sy_call_t *) link;
 	sv_table[SYS_symlink].sy_call = (sy_call_t *) symlink;
+#ifdef FILEMON_HAS_LINKAT
 	sv_table[SYS_linkat].sy_call = (sy_call_t *) linkat;
+#endif
 
 #ifdef COMPAT_IA32
 	sv_table = ia32_freebsd_sysvec.sv_table;
@@ -625,7 +636,9 @@ filemon_wrapper_deinstall(void)
 	sv_table[FREEBSD32_SYS_vfork].sy_call = (sy_call_t *) vfork;
 	sv_table[FREEBSD32_SYS_link].sy_call = (sy_call_t *) link;
 	sv_table[FREEBSD32_SYS_symlink].sy_call = (sy_call_t *) symlink;
+#ifdef FILEMON_HAS_LINKAT
 	sv_table[FREEBSD32_SYS_linkat].sy_call = (sy_call_t *) linkat;
 #endif
+#endif
 
 }

From owner-svn-src-projects@FreeBSD.ORG  Wed Jan 13 06:47:28 2010
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id C191A10656C3;
	Wed, 13 Jan 2010 06:47:28 +0000 (UTC)
	(envelope-from rodrigc@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 1D3A38FC2A;
	Wed, 13 Jan 2010 06:47:28 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o0D6lSQ9028717;
	Wed, 13 Jan 2010 06:47:28 GMT (envelope-from rodrigc@svn.freebsd.org)
Received: (from rodrigc@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id o0D6lRZj028714;
	Wed, 13 Jan 2010 06:47:27 GMT (envelope-from rodrigc@svn.freebsd.org)
Message-Id: <201001130647.o0D6lRZj028714@svn.freebsd.org>
From: Craig Rodrigues <rodrigc@FreeBSD.org>
Date: Wed, 13 Jan 2010 06:47:27 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r202182 - projects/jbuild/usr.bin/make
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Jan 2010 06:47:28 -0000

Author: rodrigc
Date: Wed Jan 13 06:47:27 2010
New Revision: 202182
URL: http://svn.freebsd.org/changeset/base/202182

Log:
  Change precedence order of searching for root directory.

Modified:
  projects/jbuild/usr.bin/make/main.c

Modified: projects/jbuild/usr.bin/make/main.c
==============================================================================
--- projects/jbuild/usr.bin/make/main.c	Wed Jan 13 03:16:31 2010	(r202181)
+++ projects/jbuild/usr.bin/make/main.c	Wed Jan 13 06:47:27 2010	(r202182)
@@ -927,8 +927,8 @@ find_srctop(char *srctop)
 {
 	const char *syspaths[] = {
 		"build/mk2",
-		"build/mk",
 		"bld",
+		"build/mk",
 		NULL,
 	};
 	const char **psp;