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.
gentoo-overlay/app-crypt/bestcrypt/files/bcrypt3

105 lines
3.1 KiB

#!/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 $?
}