View | Details | Raw Unified | Return to bug 157626
Collapse All | Expand All

(-)hal-0.5.6/tools/hal-system-storage-mount (-23 / +9 lines)
Lines 73-111 check_fstab "$HAL_PROP_BLOCK_DEVICE" || Link Here
73
# pass e.g. umask=0600,suid,dev or umask=`/bin/evil`
73
# pass e.g. umask=0600,suid,dev or umask=`/bin/evil`
74
74
75
read GIVEN_MOUNTPOINT
75
read GIVEN_MOUNTPOINT
76
GIVEN_MOUNTPOINT=${GIVEN_MOUNTPOINT//[^a-zA-Z0-9_+-]/@}
77
read GIVEN_MOUNTTYPE
76
read GIVEN_MOUNTTYPE
78
GIVEN_MOUNTTYPE=${GIVEN_MOUNTTYPE//[^a-zA-Z0-9_=]/_}
77
GIVEN_MOUNTTYPE=${GIVEN_MOUNTTYPE//[^a-zA-Z0-9_=]/_}
79
read GIVEN_MOUNTOPTIONS
78
read GIVEN_MOUNTOPTIONS
80
GIVEN_MOUNTOPTIONS=${GIVEN_MOUNTOPTIONS//[^a-zA-Z0-9_=[:space:]]/_}
79
GIVEN_MOUNTOPTIONS=${GIVEN_MOUNTOPTIONS//[^a-zA-Z0-9_=[:space:]]/_}
81
80
82
# if no mountpoint, get mountpoint from label
81
if [ -z "$GIVEN_MOUNTPOINT" ]; then
83
if [ "$GIVEN_MOUNTPOINT" == "" ]; then
82
    if [ -n "$HAL_PROP_VOLUME_LABEL" ]; then
84
    case "$HAL_PROP_VOLUME_LABEL" in
83
	GIVEN_MOUNTPOINT="$HAL_PROP_VOLUME_LABEL"
85
	*[!A-Za-z0-9_\-\+:]*)
84
    elif [ -n "$HAL_PROP_STORAGE_DRIVE_TYPE" ]; then
86
	    ;;
85
	GIVEN_MOUNTPOINT="$HAL_PROP_STORAGE_DRIVE_TYPE"
87
	*)
88
	    GIVEN_MOUNTPOINT="$HAL_PROP_VOLUME_LABEL"
89
    esac
90
fi
91
92
# if no mountpoint is given, use default name
93
if [ "$GIVEN_MOUNTPOINT" == "" ]; then
94
    if [ "$HAL_PROP_STORAGE_MEDIA_CHECK_ENABLED" == "false" ]; then
95
        GIVEN_MOUNTPOINT="$HAL_PROP_STORAGE_DRIVE_TYPE"
96
    else
86
    else
97
        GIVEN_MOUNTPOINT="disk"
87
        GIVEN_MOUNTPOINT="disk"
98
    fi
88
    fi
99
fi
89
fi
100
90
101
# we've replaced invalid characters in requested mountpoint with '@'
91
# sanitize
102
case "$GIVEN_MOUNTPOINT" in
92
GIVEN_MOUNTPOINT=${GIVEN_MOUNTPOINT//[^a-zA-Z0-9_+-]/_}
103
    *@*)
93
GIVEN_MOUNTPOINT=${GIVEN_MOUNTPOINT/./_}
104
	echo "org.freedesktop.Hal.Device.Volume.InvalidMountpoint" >&2
94
105
	echo "The mountpoint is invalid." >&2
106
	exit 1
107
	;;
108
esac
109
MOUNTPOINT="$GIVEN_MOUNTPOINT"
95
MOUNTPOINT="$GIVEN_MOUNTPOINT"
110
96
111
# pass only whitelisted types
97
# pass only whitelisted types

Return to bug 157626