summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--share/opie-login/post-session25
-rw-r--r--share/opie-login/pre-session39
2 files changed, 31 insertions, 33 deletions
diff --git a/share/opie-login/post-session b/share/opie-login/post-session
index cc0030e..7016743 100644
--- a/share/opie-login/post-session
+++ b/share/opie-login/post-session
@@ -1,11 +1,24 @@
#!/bin/sh
+permin ()
+{
+ if [ -e $1 ]
+ then
+ chown root $1
+ else
+ echo Warning: $1 does not exist.
+ return 1
+ fi
+}
+
if [ -e /proc/hal/model ]; then
- [ -e /dev/sound/dsp ] && chown root /dev/sound/dsp
- [ -e /dev/sound/mixer ] && chown root /dev/sound/mixer
- [ -e /dev/touchscreen/0 ] && chown root /dev/touchscreen/0
- [ -e /dev/fb/0 ] && chown root /dev/fb/0
- [ -e /dev/vc/0 ] && chown root /dev/vc/0
+ devs = /dev/sound/dsp /dev/sound/mixer /dev/touchscreen/0 \
+ /dev/fb/0 /dev/vc/0
+else
+ devs = /dev/dsp /dev/dsp1 /dev/mixer /dev/ts /dev/fb0 \
+ /dev/sharp* /dev/collie*
fi
-
+for i in $devs; do
+ permout( $i )
+done
diff --git a/share/opie-login/pre-session b/share/opie-login/pre-session
index 6bf9e4c..e147afc 100644
--- a/share/opie-login/pre-session
+++ b/share/opie-login/pre-session
@@ -10,47 +10,32 @@ USER=$1
# devices exclusive by 1) changing device ownership
# to the user, and 2) removing group access.
#
# A better implementation would probably be to store
# existing device permissions at load time, and restore
# them at exit, rather than making assumptions about
# user/group ownership, or permissions.
permin ()
{
if [ -e $1 ]
then
-
- chown $USER $1
- chmod g-rw $1
-
+ chown $USER $1
else
+ echo Warning: $1 does not exist.
return 1
fi
}
-permout ()
-{
- [ -e $1 ] && chown root $1
- [ -e $1 ] && chmod g+rw $1
-}
-
if [ -e /proc/hal/model ]; then
-
- # fix for misconfigured devfsd
- chmod +x /dev/sound /dev/touchscreen /dev/fb /dev/vc
-
- [ -e /dev/sound/dsp ] && chown $USER /dev/sound/dsp
- [ -e /dev/sound/mixer ] && chown $USER /dev/sound/mixer
- [ -e /dev/touchscreen/0 ] && chown $USER /dev/touchscreen/0
- [ -e /dev/fb/0 ] && chown $USER /dev/fb/0
- [ -e /dev/vc/0 ] && chown $USER /dev/vc/0
-
+ # fix for misconfigured devfsd
+ chmod +x /dev/sound /dev/touchscreen /dev/fb /dev/vc
+ devs = /dev/sound/dsp /dev/sound/mixer /dev/touchscreen/0 \
+ /dev/fb/0 /dev/vc/0
else
-
- for dev in /dev/dsp /dev/dsp1 /dev/mixer \
- /dev/ts /dev/fb0
- do
- permin( $dev )
- done
-
+ devs = /dev/dsp /dev/dsp1 /dev/mixer /dev/ts /dev/fb0 \
+ /dev/sharp* /dev/collie*
fi
+
+for i in $devs; do
+ permin( $i )
+done