You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
969 B
34 lines
969 B
#!/bin/sh |
|
|
|
# cifs_to_var CIFSROOT |
|
# use CIFSROOT to set $server, $path, and $options. |
|
# CIFSROOT is something like: cifs://[<username>[:<password>]]@<host>/<path> |
|
# NETIF is used to get information from DHCP options, if needed. |
|
|
|
type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh |
|
|
|
cifs_to_var() { |
|
local cifsuser; local cifspass |
|
# Check required arguments |
|
server=${1##cifs://} |
|
cifsuser=${server%@*} |
|
cifspass=${cifsuser#*:} |
|
if [ "$cifspass" != "$cifsuser" ]; then |
|
cifsuser=${cifsuser%:*} |
|
else |
|
cifspass=$(getarg cifspass) |
|
fi |
|
if [ "$cifsuser" != "$server" ]; then |
|
server="${server#*@}" |
|
else |
|
cifsuser=$(getarg cifsuser) |
|
fi |
|
|
|
path=${server#*/} |
|
server=${server%/*} |
|
|
|
if [ ! "$cifsuser" -o ! "$cifspass" ]; then |
|
die "For CIFS support you need to specify a cifsuser and cifspass either in the cifsuser and cifspass commandline parameters or in the root= CIFS URL." |
|
fi |
|
options="user=$cifsuser,pass=$cifspass" |
|
}
|
|
|