#!/usr/bin/sh #set -vx LCFILE=/etc/pki/ca-trust/ca-legacy.conf LLINK=/etc/pki/ca-trust/source/ca-bundle.legacy.crt LDEFAULT=/usr/share/pki/ca-trust-legacy/ca-bundle.legacy.default.crt LDISABLE=/usr/share/pki/ca-trust-legacy/ca-bundle.legacy.disable.crt # An absent value, or any unexpected value, is treated as "default". is_disabled() { grep -i "^legacy *= *disable *$" $LCFILE >/dev/null 2>&1 } do_check() { is_disabled if [ $? -eq 0 ]; then echo "Legacy CAs are set to DISABLED in file $LCFILE (affects install/upgrade)" LEXPECT=$LDISABLE else echo "Legacy CAs are set to DEFAULT in file $LCFILE (affects install/upgrade)" LEXPECT=$LDEFAULT fi echo "Status of symbolic link $LLINK:" readlink -v $LLINK } do_install() { is_disabled if [ $? -eq 0 ]; then # found, legacy is disabled ln -sf $LDISABLE $LLINK else # expression not found, legacy is set to default ln -sf $LDEFAULT $LLINK fi } do_default() { sed -i 's/^legacy *=.*$/legacy=default/' $LCFILE do_install /usr/bin/update-ca-trust } do_disable() { sed -i 's/^legacy *=.*$/legacy=disable/' $LCFILE do_install /usr/bin/update-ca-trust } do_help() { echo "usage: $0 [check | default | disable | install]" } if [[ $# -eq 0 ]]; then # no parameters do_help exit $? fi if [[ "$1" = "install" ]]; then do_install exit $? fi if [[ "$1" = "default" ]]; then do_default exit $? fi if [[ "$1" = "disable" ]]; then do_disable exit $? fi if [[ "$1" = "check" ]]; then do_check exit $? fi echo "$0: Unsupported command $1" do_help