File: cryptdisks_start

package info (click to toggle)
cryptsetup 2%3A1.0.6-7
  • links: PTS, VCS
  • area: main
  • in suites: lenny
  • size: 2,644 kB
  • ctags: 500
  • sloc: sh: 10,578; ansic: 4,114; xml: 471; makefile: 356; python: 90; perl: 44; sed: 16
file content (36 lines) | stat: -rw-r--r-- 823 bytes parent folder | download
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
#!/bin/sh

# cryptdisks_start - wrapper around cryptsetup which parses
# /etc/crypttab, just like mount parses /etc/fstab.

# Initial code and (c) 2007 Jon Dowland <jon@alcopop.org>
# License: GNU General Public License, v2 or any later
# (http://www.gnu.org/copyleft/gpl.html)

set -e

if [ $# -lt 1 ]; then
	echo "usage: $0 <name>" >&2
	echo >&2
	echo "reads /etc/crypttab and starts the mapping corresponding to <name>" >&2
	exit 1
fi

if [ -r /lib/cryptsetup/cryptdisks.functions ]; then
	. /lib/cryptsetup/cryptdisks.functions
else
	exit 0
fi

log_action_begin_msg "Starting crypto disk"
mount_fs

egrep -v "^[[:space:]]*(#|$)" "$TABFILE" | while read dst src key opts; do
	if [ "$1" = "$dst" ]; then
		handle_crypttab_line_start "$dst" "$src" "$key" "$opts" <&3
		exit 0
	fi
done 3<&1

umount_fs
log_action_end_msg 0