diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
commit | 4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch) | |
tree | ba5f07bf3f9d22d82e54a462313f5d244036c768 /app-crypt/bestcrypt/files/bcrypt3 |
reinit the tree, so we can have metadata
Diffstat (limited to 'app-crypt/bestcrypt/files/bcrypt3')
-rw-r--r-- | app-crypt/bestcrypt/files/bcrypt3 | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/app-crypt/bestcrypt/files/bcrypt3 b/app-crypt/bestcrypt/files/bcrypt3 new file mode 100644 index 000000000000..b1b6979e63e0 --- /dev/null +++ b/app-crypt/bestcrypt/files/bcrypt3 @@ -0,0 +1,104 @@ +#!/sbin/openrc-run +# +# bestcrypt Encrypted File Systems. +# +# Version: 1.2 +# +# Revision: $Id$ +# +# Author: Jetico Inc. (support@jetico.com) +# +# Modified by Stefan Tittel (with thanks to steveb) to work around +# the "xargs: environment too large for exec"-error occuring in +# the gentoo 1.4 linux distribution. + +# chkconfig: 2345 85 98 +# description: BestCrypt init script + + +# Source function library. +#. /etc/rc.d/init.d/functions + +# See how we were called. + +KERNEL_VERSION=`uname -r|sed 's/\(.\..\).*/\1/'` + +start() { + ebegin "Initializing BestCrypt" + declare -i status=0 + rm -rf /dev/bcrypt?* 2>/dev/null + if [ $KERNEL_VERSION = "2.2" ]; then + mknod -m 666 /dev/bcrypt0 b 7 128 + mknod -m 666 /dev/bcrypt1 b 7 129 + mknod -m 666 /dev/bcrypt2 b 7 130 + mknod -m 666 /dev/bcrypt3 b 7 131 + mknod -m 666 /dev/bcrypt4 b 7 132 + mknod -m 666 /dev/bcrypt5 b 7 133 + mknod -m 666 /dev/bcrypt6 b 7 134 + mknod -m 666 /dev/bcrypt7 b 7 135 + mknod -m 666 /dev/bcrypt8 b 7 136 + mknod -m 666 /dev/bcrypt9 b 7 137 + mknod -m 666 /dev/bcrypt10 b 7 138 + mknod -m 666 /dev/bcrypt11 b 7 139 + mknod -m 666 /dev/bcrypt12 b 7 140 + mknod -m 666 /dev/bcrypt13 b 7 141 + mknod -m 666 /dev/bcrypt14 b 7 142 + mknod -m 666 /dev/bcrypt15 b 7 143 + else + if [ ! -c /dev/.devfsd ] && [ ! -e /dev/.udev ]; + then + mknod -m 666 /dev/bcrypt0 b 188 0 + mknod -m 666 /dev/bcrypt1 b 188 1 + mknod -m 666 /dev/bcrypt2 b 188 2 + mknod -m 666 /dev/bcrypt3 b 188 3 + mknod -m 666 /dev/bcrypt4 b 188 4 + mknod -m 666 /dev/bcrypt5 b 188 5 + mknod -m 666 /dev/bcrypt6 b 188 6 + mknod -m 666 /dev/bcrypt7 b 188 7 + mknod -m 666 /dev/bcrypt8 b 188 8 + mknod -m 666 /dev/bcrypt9 b 188 9 + mknod -m 666 /dev/bcrypt10 b 188 10 + mknod -m 666 /dev/bcrypt11 b 188 11 + mknod -m 666 /dev/bcrypt12 b 188 12 + mknod -m 666 /dev/bcrypt13 b 188 13 + mknod -m 666 /dev/bcrypt14 b 188 14 + mknod -m 666 /dev/bcrypt15 b 188 15 + fi + fi + modprobe bc || status=1 + modprobe bc_blowfish || status=1 + modprobe bc_des || status=1 + modprobe bc_gost || status=1 + modprobe bc_twofish || status=1 + modprobe bc_bf448 || status=1 + modprobe bc_bf128 || status=1 + modprobe bc_3des || status=1 + modprobe bc_idea || status=1 + modprobe bc_rijn || status=1 + modprobe bc_cast || status=1 + modprobe bc_rc6 || status=1 + modprobe bc_serpent || status=1 + eend ${status} +} + +stop() { + ebegin "Unmounting encrypted filesystems" + +# The original line causing the "xargs: environment too large for exec error". + # grep BestCrypt /etc/mtab |awk '{print $2}'|xargs -r -n 1 bctool umount + +# The line for which it work's fine now. + for i in $(grep BestCrypt /etc/mtab | awk '{print $2}') ; do bctool umount ${i} ; done + + eend $? + ebegin "Shutting down BestCrypt modules" + for i in `lsmod |egrep "^bc_.*" |awk '{print $1}' `; do + rmmod $i + done + if [ ! -c /dev/.devfsd ] && [ ! -e /dev/.udev ]; + then + rm -f /dev/bcrypt?* 2>/dev/null + fi + rmmod bc + eend $? +} |