summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--share/opie-login/post-session25
-rw-r--r--share/opie-login/pre-session31
2 files changed, 27 insertions, 29 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
-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
+permin ()
+{
+ if [ -e $1 ]
+ then
+ chown root $1
+ else
+ echo Warning: $1 does not exist.
+ return 1
fi
+}
+if [ -e /proc/hal/model ]; then
+ 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
@@ -1,56 +1,41 @@
#!/bin/sh
USER=$1
# NOTE about permissions in OpenZaurus
# The devices in question here by default
# are accessible to everyone in the group in
# question. We wish to ensure that, as a policy
# choice, a login to opie makes access to these
# 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
-
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
-
+ 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 dev in /dev/dsp /dev/dsp1 /dev/mixer \
- /dev/ts /dev/fb0
- do
- permin( $dev )
+for i in $devs; do
+ permin( $i )
done
-
-fi