Fix to handle more general flags formats (#527051)

This commit is contained in:
Elio Maldonado 2009-10-06 23:49:09 +00:00
parent 99e8ed3aca
commit 0f54a974d6
1 changed files with 23 additions and 23 deletions

View File

@ -22,13 +22,6 @@ if test $# -eq 0; then
usage 1 1>&2 usage 1 1>&2
fi fi
on="1"
case "$1" in
on | ON ) on="1";;
off | OFF ) on="";;
* ) usage 1 1>&2;;
esac
# the system-wide configuration file # the system-wide configuration file
p11conf="/etc/pki/nssdb/pkcs11.txt" p11conf="/etc/pki/nssdb/pkcs11.txt"
# must exist, otherwise report it and exit with failure # must exist, otherwise report it and exit with failure
@ -37,19 +30,26 @@ if [ ! -f $p11conf ]; then
exit 1 exit 1
fi fi
# turn on or off on="1"
if [ on = "1" ]; then case "$1" in
cat ${p11conf} | sed -e 's/^library=$/library=libnsssysinit.so/' \ on | ON )
-e 'g/^NSS/ s; Flags=internal,critical; Flags=internal,moduleDBOnly,critical;' > \ cat ${p11conf} | \
${p11conf}.on sed -e 's/^library=$/library=libnsssysinit.so/' \
mv ${p11conf}.on ${p11conf} -e '/^NSS/s/\(Flags=internal\)\(,[^m]\)/\1,moduleDBOnly\2/' > \
else ${p11conf}.on
if [ `grep "^library=libnsssysinit" ${p11conf}` == ""]; then mv ${p11conf}.on ${p11conf}
exit 0 ;;
fi off | OFF )
cat ${p11conf} | sed -e 's/^library=libnsssysinit.so/library=/' \ if [ ! `grep "^library=libnsssysinit" ${p11conf}` ]; then
-e 'g/^NSS/ s; Flags=internal,moduleDBOnly,critical; Flags=internal,critical;' > \ exit 0
${p11conf}.off fi
mv ${p11conf}.off ${p11conf} cat ${p11conf} | \
fi sed -e 's/^library=libnsssysinit.so/library=/' \
-e '/^NSS/s/Flags=internal,moduleDBOnly/Flags=internal/' > \
${p11conf}.off
mv ${p11conf}.off ${p11conf}
;;
* )
usage 1 1>&2
;;
esac