blob: b996b41b6575e141ea1c5adeb11d7a93a2c78b5e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
#!/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
# shellcheck disable=SC2034
path=${server#*/}
# shellcheck disable=SC2034
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
# shellcheck disable=SC2034
options="user=$cifsuser,pass=$cifspass,$(getarg rootflags=)"
}
|