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.
37 lines
1.1 KiB
37 lines
1.1 KiB
![]()
13 years ago
|
#!/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"
|
||
|
}
|