OXIESEC PANEL
- Current Dir:
/
/
usr
/
lib
/
python3
/
dist-packages
/
uaclient
/
entitlements
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
10/28/2024 08:41:34 AM
rwxr-xr-x
📄
__init__.py
8.8 KB
08/08/2024 08:21:51 PM
rw-r--r--
📁
__pycache__
-
10/28/2024 08:41:34 AM
rwxr-xr-x
📄
anbox.py
3.06 KB
08/08/2024 02:00:59 PM
rw-r--r--
📄
base.py
46.45 KB
08/08/2024 02:00:59 PM
rw-r--r--
📄
cc.py
1013 bytes
08/08/2024 02:00:59 PM
rw-r--r--
📄
cis.py
1.14 KB
08/08/2024 02:00:59 PM
rw-r--r--
📄
entitlement_status.py
3.28 KB
08/08/2024 02:00:59 PM
rw-r--r--
📄
esm.py
4.45 KB
08/08/2024 02:00:59 PM
rw-r--r--
📄
fips.py
24.49 KB
08/08/2024 08:21:51 PM
rw-r--r--
📄
landscape.py
3.48 KB
08/08/2024 02:00:59 PM
rw-r--r--
📄
livepatch.py
13.9 KB
08/08/2024 02:00:59 PM
rw-r--r--
📄
realtime.py
6.99 KB
08/08/2024 08:21:51 PM
rw-r--r--
📄
repo.py
24.85 KB
09/06/2024 06:58:57 PM
rw-r--r--
📄
ros.py
1.97 KB
08/08/2024 08:21:51 PM
rw-r--r--
Editing: landscape.py
Close
import logging from typing import Any, Dict, Optional, Tuple from uaclient import api, event_logger, exceptions, messages, system, util from uaclient.entitlements.base import UAEntitlement from uaclient.entitlements.entitlement_status import ApplicationStatus LOG = logging.getLogger(util.replace_top_level_logger_name(__name__)) event = event_logger.get_event_logger() class LandscapeEntitlement(UAEntitlement): name = "landscape" title = messages.LANDSCAPE_TITLE description = messages.LANDSCAPE_DESCRIPTION help_doc_url = messages.urls.LANDSCAPE_HOME_PAGE help_text = messages.LANDSCAPE_HELP_TEXT def enable_steps(self) -> int: return 1 def disable_steps(self) -> int: return 1 def _perform_enable(self, progress: api.ProgressWrapper) -> bool: cmd = ["landscape-config"] + self.extra_args if not progress.is_interactive() and "--silent" not in cmd: cmd += ["--silent"] LOG.debug("Executing: %r", cmd) progress.progress( util.redact_sensitive_logs( messages.EXECUTING_COMMAND.format(command=" ".join(cmd)) ) ) try: system.subp(cmd, pipe_stdouterr=not progress.is_interactive()) except exceptions.ProcessExecutionError as e: LOG.exception(e) if not progress.is_interactive(): progress.emit("info", e.stderr.strip()) raise exceptions.LandscapeConfigFailed( stdout=e.stdout.strip(), stderr=e.stderr.strip() ) return False return True def _perform_disable(self, progress: api.ProgressWrapper) -> bool: cmd = ["landscape-config", "--disable"] progress.progress( messages.EXECUTING_COMMAND.format(command=" ".join(cmd)) ) try: system.subp(cmd) except exceptions.ProcessExecutionError as e: LOG.error(e) progress.emit("info", str(e).strip()) progress.emit("info", messages.LANDSCAPE_CONFIG_REMAINS) return True def application_status( self, ) -> Tuple[ApplicationStatus, Optional[messages.NamedMessage]]: if ( self.are_required_packages_installed() and system.is_systemd_unit_active("landscape-client") ): return (ApplicationStatus.ENABLED, None) else: return ( ApplicationStatus.DISABLED, messages.LANDSCAPE_SERVICE_NOT_ACTIVE, ) def enabled_warning_status( self, ) -> Tuple[bool, Optional[messages.NamedMessage]]: # This check wrongly gives warning when non-root # This will become obsolete soon: #2864 if util.we_are_currently_root(): try: system.subp( ["landscape-config", "--is-registered", "--silent"] ) except exceptions.ProcessExecutionError: return ( True, messages.LANDSCAPE_NOT_REGISTERED, ) return False, None def process_contract_deltas( self, orig_access: Dict[str, Any], deltas: Dict[str, Any], allow_enable: bool = False, ) -> bool: # overriding allow_enable to always be False for this entitlement # effectively prevents enableByDefault from ever happening return super().process_contract_deltas( orig_access, deltas, allow_enable=False )