[rionda@gufi.org: Re: kern/63954: devfs loses permissions]

Matteo Riondato rionda at gufi.org
Wed Jun 15 21:32:31 GMT 2005


GNATS keeps on eating my followups.. :(


----- Forwarded message from Matteo Riondato <rionda at gufi.org> -----

From: Matteo Riondato <rionda at gufi.org>
To: bug-followup at FreeBSD.org, edwin at mavetju.org, mmolteni at cisco.com,
	freebsd-rc at freebsd.org
Date: Wed, 15 Jun 2005 18:27:44 +0200
Subject: Re: kern/63954: devfs loses permissions

Patch for this against /etc/rc.d/devfs follows and can be found at
http://www.riondabsd.net/diff/devfs.diff. Please note that this patch
includes fix for PR bin/65693 (wildcarded device names in devfs.conf
). I hope someone will pick this up and commit the patch.

--- devfs.old	Wed Jun  8 22:50:32 2005
+++ devfs	Wed Jun 15 14:50:37 2005
@@ -37,25 +37,44 @@
 	read_devfs_conf
 }
 
+
+do_action()
+{
+	case "$1" in
+	l*)	if [ -c $2 -a ! -e $3 ]; then
+			ln -fs $2 $3
+		fi
+		;;
+	o*)	if [ -c $2 ]; then
+			chown $3 $2
+		fi
+		if echo $3 | grep -q : ; then
+			uid=${3%%:*}
+			gid=${3##*:}
+			devfs rule add path $2 user $uid group $gid
+			devfs rule apply path $2 user $uid group $gid
+		else
+			devfs rule add path $2 user $3
+			devfs rule apply path $2 user $3
+		fi	
+		;;
+	p*)	if [ -c $2 ]; then
+			chmod $3 $2
+		fi	
+			devfs rule add path $2 mode $3
+			devfs rule apply path $2 
+		;;
+	esac
+}	
+
 read_devfs_conf()
 {
 	if [ -r /etc/devfs.conf ]; then
 		cd /dev
 		while read action device parameter; do
-			case "${action}" in
-			l*)	if [ -c ${device} -a ! -e ${parameter} ]; then
-					ln -fs ${device} ${parameter}
-				fi
-				;;
-			o*)	if [ -c ${device} ]; then
-					chown ${parameter} ${device}
-				fi
-				;;
-			p*)	if [ -c ${device} ]; then
-					chmod ${parameter} ${device}
-				fi
-				;;
-			esac
+			for dev_name in ${device}; do
+				do_action ${action} ${dev_name} ${parameter} 
+			done	
 		done < /etc/devfs.conf
 	fi
 }

Best Regards
-- 
Rionda aka Matteo Riondato
Disinformato per default
G.U.F.I. Staff Member (http://www.gufi.org)
FreeSBIE Developer (http://www.freesbie.org)


More information about the freebsd-bugs mailing list