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.
36 lines
1.1 KiB
36 lines
1.1 KiB
#!/bin/sh |
|
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- |
|
# ex: ts=8 sw=4 sts=4 et filetype=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" |
|
}
|
|
|