mandos-ctl: Separate determining what to do and actually doing it
* mandos-ctl (defaultkeywords): Removed; value moved into PrintTableCmd. (Command): New abstract base class for commands to be run. (PrintCmd, PropertyCmd): New abstract classes for commands. (ValueArgumentMixIn, MillisecondsValueArgumentMixIn): New mixins for commands. (PrintTableCmd, DumpJSONCmd, IsEnabledCmd, RemoveCmd, ApproveCmd, DenyCmd, EnableCmd, DisableCmd, BumpTimeoutCmd, StartCheckerCmd, StopCheckerCmd, ApproveByDefaultCmd, DenyByDefaultCmd, SetCheckerCmd, SetTimeoutCmd, SetExtendedTimeoutCmd, SetApprovalDelayCmd, SetApprovalDurationCmd): New commands. (main): Don't look directly at options and do things; instead go through all options and add commands to a list, then run all commands on clients.
if ! dpkg-statoverride --list "/var/lib/mandos" >/dev/null \
54
2>&1; then
55
chown _mandos:_mandos /var/lib/mandos
56
chmod u=rwx,go= /var/lib/mandos
57
fi
58
59
if dpkg --compare-versions "$2" eq "1.8.0-1" \
60
|| dpkg --compare-versions "$2" eq "1.8.0-1~bpo9+1"; then
61
if grep --quiet --regexp='^[[:space:]]*key_id[[:space:]]*=[[:space:]]*[Ee]3[Bb]0[Cc]44298[Ff][Cc]1[Cc]149[Aa][Ff][Bb][Ff]4[Cc]8996[Ff][Bb]92427[Aa][Ee]41[Ee]4649[Bb]934[Cc][Aa]495991[Bb]7852[Bb]855[[:space:]]*$' /etc/mandos/clients.conf; then