Server IP : 13.213.54.232 / Your IP : 216.73.217.11 Web Server : Apache/2.4.52 (Ubuntu) System : Linux ip-172-31-17-110 6.8.0-1029-aws #31~22.04.1-Ubuntu SMP Thu Apr 24 21:16:18 UTC 2025 x86_64 User : www-data ( 33) PHP Version : 7.1.33-67+ubuntu22.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /proc/246940/root/lib/python3/dist-packages/uaclient/api/u/pro/security/status/livepatch_cves/ |
Upload File : |
from typing import List from uaclient.api.api import APIEndpoint from uaclient.api.data_types import AdditionalInfo from uaclient.config import UAConfig from uaclient.data_types import ( BoolDataValue, DataObject, Field, StringDataValue, data_list, ) from uaclient.security_status import get_livepatch_fixed_cves class LivepatchCVEObject(DataObject): fields = [ Field("name", StringDataValue, doc="Name (ID) of the CVE"), Field("patched", BoolDataValue, doc="Livepatch has patched the CVE"), ] def __init__(self, name: str, patched: bool): self.name = name self.patched = patched class LivepatchCVEsResult(DataObject, AdditionalInfo): fields = [ Field( "fixed_cves", data_list(LivepatchCVEObject), doc="List of Livepatch patches for the given system", ), ] def __init__( self, fixed_cves: List[LivepatchCVEObject], ): self.fixed_cves = fixed_cves def livepatch_cves() -> LivepatchCVEsResult: return _livepatch_cves(UAConfig()) def _livepatch_cves(cfg: UAConfig) -> LivepatchCVEsResult: """ This endpoint lists Livepatch patches for the currently-running kernel. """ return LivepatchCVEsResult( fixed_cves=[ LivepatchCVEObject(name=cve["name"], patched=cve["patched"]) for cve in get_livepatch_fixed_cves() ] ) endpoint = APIEndpoint( version="v1", name="LivepatchCVEs", fn=_livepatch_cves, options_cls=None, ) _doc = { "introduced_in": "27.12", "requires_network": False, "example_python": """ from uaclient.api.u.pro.security.status.livepatch_cves.v1 import livepatch_cves result = livepatch_cves() """, # noqa: E501 "result_class": LivepatchCVEsResult, "exceptions": [], "example_cli": "pro api u.pro.security.status.livepatch_cves.v1", "example_json": """ { "fixed_cves":[ { "name": "<CVE Name>", "patched": true }, { "name": "<Other CVE Name>", "patched": false }, ] } """, }