????JFIF??x?x????'
| Server IP : 79.136.114.73 / Your IP : 216.73.216.25 Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/lib/python3/dist-packages/uaclient/entitlements/ |
Upload File : |
from uaclient.entitlements import repo
from uaclient import apt, status, util
try:
from typing import Dict, List, Set, Tuple # noqa
except ImportError:
# typing isn't available on trusty, so ignore its absence
pass
class FIPSCommonEntitlement(repo.RepoEntitlement):
repo_pin_priority = 1001
fips_required_packages = frozenset({"fips-initramfs", "linux-fips"})
fips_packages = {
"libssl1.0.0": {"libssl1.0.0-hmac"},
"openssh-client": {"openssh-client-hmac"},
"openssh-server": {"openssh-server-hmac"},
"openssl": set(),
"strongswan": {"strongswan-hmac"},
} # type: Dict[str, Set[str]]
@property
def packages(self) -> "List[str]":
packages = list(self.fips_required_packages)
installed_packages = apt.get_installed_packages()
for pkg_name, extra_pkgs in self.fips_packages.items():
if pkg_name in installed_packages:
packages.append(pkg_name)
packages.extend(extra_pkgs)
return packages
def application_status(self) -> "Tuple[status.ApplicationStatus, str]":
super_status, super_msg = super().application_status()
if super_status != status.ApplicationStatus.ENABLED:
return super_status, super_msg
running_kernel = util.get_platform_info()["kernel"]
if running_kernel.endswith("-fips"):
return super_status, super_msg
return (
status.ApplicationStatus.ENABLED,
"Reboot to FIPS kernel required",
)
def disable(self, silent: bool = False) -> bool:
"""FIPS cannot be disabled, so simply display a message to the user"""
if not silent:
print("Warning: no option to disable {}".format(self.title))
return False
def _cleanup(self) -> None:
"""FIPS can't be cleaned up automatically, so don't do anything"""
pass
class FIPSEntitlement(FIPSCommonEntitlement):
help_doc_url = "https://ubuntu.com/fips"
name = "fips"
title = "FIPS"
description = "NIST-certified FIPS modules"
messaging = {
"post_enable": ["A reboot is required to complete the install"]
}
origin = "UbuntuFIPS"
repo_url = "https://esm.ubuntu.com/fips"
repo_key_file = "ubuntu-fips-keyring.gpg"
static_affordances = (
("Cannot install FIPS on a container", util.is_container, False),
)
class FIPSUpdatesEntitlement(FIPSCommonEntitlement):
name = "fips-updates"
title = "FIPS Updates"
messaging = {
"post_enable": [
"FIPS Updates configured and pending, please reboot to make"
" active."
]
}
origin = "UbuntuFIPSUpdates"
description = "Uncertified security updates to FIPS modules"
repo_url = "https://esm.ubuntu.com/fips-updates"
repo_key_file = "ubuntu-fips-updates-keyring.gpg"
static_affordances = (
(
"Cannot install FIPS Updates on a container",
util.is_container,
False,
),
)