summaryrefslogtreecommitdiffstats
path: root/openembedded/packages/udev/files
diff options
context:
space:
mode:
authorRichard Purdie <richard@openedhand.com>2006-05-09 19:35:13 +0000
committerRichard Purdie <richard@openedhand.com>2006-05-09 19:35:13 +0000
commit30285dd379000284555a38c80b7d4dad472fe515 (patch)
tree8755c94e0a945ddaf1c1f05d6a7158b67c8a298c /openembedded/packages/udev/files
parent103c8510e0cdc03760885db52ffd2a6908a6f401 (diff)
downloadpoky-30285dd379000284555a38c80b7d4dad472fe515.tar.gz
More packages merging with OE
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@390 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'openembedded/packages/udev/files')
-rw-r--r--openembedded/packages/udev/files/mount.sh42
-rw-r--r--openembedded/packages/udev/files/network.sh31
2 files changed, 72 insertions, 1 deletions
diff --git a/openembedded/packages/udev/files/mount.sh b/openembedded/packages/udev/files/mount.sh
index 7e641b08d7..48c7844690 100644
--- a/openembedded/packages/udev/files/mount.sh
+++ b/openembedded/packages/udev/files/mount.sh
@@ -8,6 +8,39 @@
8MOUNT="/bin/mount" 8MOUNT="/bin/mount"
9PMOUNT="/usr/bin/pmount" 9PMOUNT="/usr/bin/pmount"
10UMOUNT="/bin/umount" 10UMOUNT="/bin/umount"
11name="`basename "$DEVNAME"`"
12
13for line in `cat /etc/udev/mount.blacklist | grep -v ^#`
14do
15 if ( echo "$DEVNAME" | grep -q "$line" )
16 then
17 logger "udev/mount.sh" "[$DEVNAME] is blacklisted, ignoring"
18 exit 0
19 fi
20done
21
22automount() {
23 ! test -d "/media/$name" && mkdir -p "/media/$name"
24
25 if ! $MOUNT -t auto -o sync $DEVNAME "/media/$name"
26 then
27 #logger "mount.sh/automount" "$MOUNT -t auto $DEVNAME \"/media/$name\" failed!"
28 rm_dir "/media/$name"
29 else
30 logger "mount.sh/automount" "Auto-mount of [/media/$name] successful"
31 touch "/tmp/.automount-$name"
32 fi
33}
34
35rm_dir() {
36 # We do not want to rm -r populated directories
37 if test "`find "$1" | wc -l | tr -d " "`" -lt 2 -a -d "$1"
38 then
39 ! test -z "$1" && rm -r "$1"
40 else
41 logger "mount.sh/automount" "Not removing non-empty directory [$1]"
42 fi
43}
11 44
12if [ "$ACTION" = "add" ] && [ -n "$DEVNAME" ]; then 45if [ "$ACTION" = "add" ] && [ -n "$DEVNAME" ]; then
13 if [ -x "$PMOUNT" ]; then 46 if [ -x "$PMOUNT" ]; then
@@ -15,11 +48,20 @@ if [ "$ACTION" = "add" ] && [ -n "$DEVNAME" ]; then
15 elif [ -x $MOUNT ]; then 48 elif [ -x $MOUNT ]; then
16 $MOUNT $DEVNAME 2> /dev/null 49 $MOUNT $DEVNAME 2> /dev/null
17 fi 50 fi
51
52 # If the device isn't mounted at this point, it isn't configured in fstab
53 cat /proc/mounts | awk '{print $1}' | grep -q "^$DEVNAME$" || automount
54
18fi 55fi
19 56
57
58
20if [ "$ACTION" = "remove" ] && [ -x "$UMOUNT" ] && [ -n "$DEVNAME" ]; then 59if [ "$ACTION" = "remove" ] && [ -x "$UMOUNT" ] && [ -n "$DEVNAME" ]; then
21 for mnt in `cat /proc/mounts | grep "$DEVNAME" | cut -f 2 -d " " ` 60 for mnt in `cat /proc/mounts | grep "$DEVNAME" | cut -f 2 -d " " `
22 do 61 do
23 $UMOUNT $mnt 62 $UMOUNT $mnt
24 done 63 done
64
65 # Remove empty directories from auto-mounter
66 test -e "/tmp/.automount-$name" && rm_dir "/media/$name"
25fi 67fi
diff --git a/openembedded/packages/udev/files/network.sh b/openembedded/packages/udev/files/network.sh
index 2cfbfa91b3..5016328df4 100644
--- a/openembedded/packages/udev/files/network.sh
+++ b/openembedded/packages/udev/files/network.sh
@@ -6,6 +6,35 @@ test -x /sbin/cardctl && exit 0
6# We get two "add" events for hostap cards due to wifi0 6# We get two "add" events for hostap cards due to wifi0
7echo "$INTERFACE" | grep -q wifi && exit 0 7echo "$INTERFACE" | grep -q wifi && exit 0
8 8
9
10# Check if /etc/init.d/network has been run yet to see if we are
11# called by starting /etc/rcS.d/S03udev and not by hotplugging a device
12#
13# At this stage, network interfaces should not be brought up
14# automatically because:
15# a) /etc/init.d/network has not been run yet (security issue)
16# b) /var has not been populated yet so /etc/resolv,conf points to
17# oblivion, making the network unusable
18#
19
20spoofp="`grep ^spoofprotect /etc/network/options`"
21if test -z "$spoofp"
22then
23 # This is the default from /etc/init.d/network
24 spoofp_val=yes
25else
26 spoofp_val=${spoofp#spoofprotect=}
27fi
28
29test "$spoofp_val" = yes && spoofp_val=1 || spoofp_val=0
30
31# I think it is safe to assume that "lo" will always be there ;)
32if test "`cat /proc/sys/net/ipv4/conf/lo/rp_filter`" != "$spoofp_val" -a -n "$spoofp_val"
33then
34 echo "$INTERFACE" >> /dev/udev_network_queue
35 exit 0
36fi
37
9# 38#
10# Code taken from pcmcia-cs:/etc/pcmcia/network 39# Code taken from pcmcia-cs:/etc/pcmcia/network
11# 40#
@@ -15,7 +44,7 @@ echo "$INTERFACE" | grep -q wifi && exit 0
15if grep -q "iface \+$INTERFACE" /etc/network/interfaces; then 44if grep -q "iface \+$INTERFACE" /etc/network/interfaces; then
16 case $ACTION in 45 case $ACTION in
17 add) 46 add)
18 ifup $INTERFACE 47 ifconfig | grep -q "^$INTERFACE" || ifup $INTERFACE
19 ;; 48 ;;
20 remove) 49 remove)
21 ifdown $INTERFACE 50 ifdown $INTERFACE