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