From owner-trustedbsd-cvs@FreeBSD.ORG  Tue Nov 14 20:52:46 2006
Return-Path: <owner-trustedbsd-cvs@FreeBSD.ORG>
X-Original-To: trustedbsd-cvs@freebsd.org
Delivered-To: trustedbsd-cvs@freebsd.org
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id 7C18C16A54C
	for <trustedbsd-cvs@freebsd.org>; Tue, 14 Nov 2006 20:52:46 +0000 (UTC)
	(envelope-from owner-perforce@freebsd.org)
Received: from cyrus.watson.org (cyrus.watson.org [209.31.154.42])
	by mx1.FreeBSD.org (Postfix) with ESMTP id D17A643F90
	for <trustedbsd-cvs@freebsd.org>; Tue, 14 Nov 2006 20:47:54 +0000 (GMT)
	(envelope-from owner-perforce@freebsd.org)
Received: from mx2.freebsd.org (mx2.freebsd.org [216.136.204.119])
	by cyrus.watson.org (Postfix) with ESMTP id D48F746D3D
	for <trustedbsd-cvs@trustedbsd.org>;
	Tue, 14 Nov 2006 15:47:53 -0500 (EST)
Received: from hub.freebsd.org (hub.freebsd.org [216.136.204.18])
	by mx2.freebsd.org (Postfix) with ESMTP id B7F23634F3;
	Tue, 14 Nov 2006 20:46:35 +0000 (GMT)
	(envelope-from owner-perforce@freebsd.org)
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 8B2C116A57D; Tue, 14 Nov 2006 20:46:30 +0000 (UTC)
X-Original-To: perforce@freebsd.org
Delivered-To: perforce@freebsd.org
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id 5B64E16A543
	for <perforce@freebsd.org>; Tue, 14 Nov 2006 20:46:30 +0000 (UTC)
	(envelope-from millert@freebsd.org)
Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115])
	by mx1.FreeBSD.org (Postfix) with ESMTP id EBB2544060
	for <perforce@freebsd.org>; Tue, 14 Nov 2006 20:39:55 +0000 (GMT)
	(envelope-from millert@freebsd.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kAEKdfGH047944
	for <perforce@freebsd.org>; Tue, 14 Nov 2006 20:39:41 GMT
	(envelope-from millert@freebsd.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kAEKdfYA047941
	for perforce@freebsd.org; Tue, 14 Nov 2006 20:39:41 GMT
	(envelope-from millert@freebsd.org)
Date: Tue, 14 Nov 2006 20:39:41 GMT
Message-Id: <200611142039.kAEKdfYA047941@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	millert@freebsd.org using -f
From: Todd Miller <millert@FreeBSD.org>
To: Perforce Change Reviews <perforce@freebsd.org>
Cc: 
Subject: PERFORCE change 109987 for review
X-BeenThere: trustedbsd-cvs@FreeBSD.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: TrustedBSD CVS and Perforce commit message list
	<trustedbsd-cvs.FreeBSD.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/trustedbsd-cvs>, 
	<mailto:trustedbsd-cvs-request@FreeBSD.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/trustedbsd-cvs>
List-Post: <mailto:trustedbsd-cvs@FreeBSD.org>
List-Help: <mailto:trustedbsd-cvs-request@FreeBSD.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/trustedbsd-cvs>,
	<mailto:trustedbsd-cvs-request@FreeBSD.org?subject=subscribe>
X-List-Received-Date: Tue, 14 Nov 2006 20:52:46 -0000

http://perforce.freebsd.org/chv.cgi?CH=109987

Change 109987 by millert@millert_g5tower on 2006/11/14 20:39:16

	Skip mount points entirely.

Affected files ...

.. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/policycoreutils/restorecon/restorecon.c#5 edit
.. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/policycoreutils/setfiles/setfiles.c#5 edit

Differences ...

==== //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/policycoreutils/restorecon/restorecon.c#5 (text+ko) ====

@@ -307,11 +307,14 @@
 		}
 		while ((ftsent = fts_read(fts)) != NULL) {
 			switch (ftsent->fts_info) {
+			case FTS_D:		/* dir in pre-order */
+				if (fts->fts_dev != ftsent->fts_dev)
+					break;
+				/* FALLTHROUGH */
+			case FTS_F:		/* file */
+			case FTS_SL:		/* symlink */
+			case FTS_W:		/* whiteout */
 			case FTS_DEFAULT:
-			case FTS_D:
-			case FTS_F:
-			case FTS_SL:
-			case FTS_W:
 				apply_spec(ftsent->fts_path, ftsent->fts_statp);
 				break;
 			case FTS_DNR:
@@ -330,6 +333,12 @@
 				    progname, ftsent->fts_path,
 				    strerror(ftsent->fts_errno));
 				break;
+			case FTS_DP:		/* skip post-order dir */
+			case FTS_DC:		/* skip dir cycle */
+			case FTS_DOT:		/* skip . and .. */
+			case FTS_SLNONE:	/* skip dead symlinks */
+			default:
+				break;
 			}
 		}
 	} else {

==== //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/policycoreutils/setfiles/setfiles.c#5 (text+ko) ====

@@ -671,11 +671,14 @@
 			/* Walk the file tree, calling apply_spec on each file. */
 			while ((ftsent = fts_read(fts)) != NULL) {
 				switch (ftsent->fts_info) {
-				case FTS_DEFAULT:
 				case FTS_D:		/* dir in pre-order */
+					if (fts->fts_dev != ftsent->fts_dev)
+						break;
+					/* FALLTHROUGH */
 				case FTS_F:		/* file */
 				case FTS_SL:		/* symlink */
 				case FTS_W:		/* whiteout */
+				case FTS_DEFAULT:
 					apply_spec(ftsent->fts_path,
 					    ftsent->fts_statp);
 					break;