Merge branch 'vendor/OPENSSL' into HEAD
[dragonfly.git] / etc / rc.d / cryptdisks
1 #!/bin/sh
2
3 # PROVIDE: cryptdisks
4 # REQUIRE:
5 # BEFORE:  mountcritlocal localswap dumpon
6
7 $_rc_subr_loaded . /etc/rc.subr
8
9 name="cryptdisks"
10 start_cmd="cryptdisks_start"
11 stop_cmd="cryptdisks_stop"
12 CRYPTTAB="/etc/crypttab"
13
14 cryptdisks_start()
15 {
16         if [ ! -f $CRYPTTAB ]; then
17                 return 0;
18         fi
19
20         if [ -x /sbin/dmsetup ]; then
21                 /sbin/dmsetup version >/dev/null
22                 if [ $? -ne 0 ]; then 
23                         warn "Device-mapper not present in kernel"
24                         return 1;
25                 fi
26         fi
27
28         if [ ! -x /sbin/cryptdisks ]; then
29                 warn "cryptdisks is not executable"
30                 return 1;
31         fi
32
33         echo "Configuring crypto disks."
34         /sbin/cryptdisks -1
35 }
36
37 cryptdisks_stop()
38 {
39         if [ ! -f $CRYPTTAB ]; then
40                 return 0;
41         fi
42  
43         if [ -x /sbin/dmsetup ]; then
44                 /sbin/dmsetup version >/dev/null
45                 if [ $? -ne 0 ]; then
46                         warn "Device-mapper not present in kernel"
47                         return 1;
48                 fi
49         fi
50  
51         if [ ! -x /sbin/cryptdisks ]; then
52                 warn "cryptdisks is not executable"
53                 return 1;
54         fi
55
56         echo "Unconfiguring crypto disks."
57         /sbin/cryptdisks -0
58
59 }
60
61 load_rc_config $name
62 run_rc_command "$1"