Your IP : 216.73.217.13


Current Path : /snap/lxd/38450/lib/python3/dist-packages/pyuefivars/__pycache__/
Upload File :
Current File : //snap/lxd/38450/lib/python3/dist-packages/pyuefivars/__pycache__/efivarfs.cpython-312.pyc

�

���i���F�ddlZddlmZmZddlZddlZdZGd�de�Zy)�N�)�UEFIVar�UEFIVarStore� c�.��eZdZdZ�fd�Zdefd�Z�xZS)�EFIVARFSUEFIVarStorea2
    Varstore class to ingest an efivarfs directory as UEFI variables.

    Please beware that efivarfs only exposes UEFI variables that execute
    at runtime, so any boot time variables are unavailable. Also, additional
    metadata such as secure variable details are not readable through efivarfs.
    c	���t�
|��d|_|sd}tjj|�st
d|�d���tj|�}|D�]}|jd�}	tjdj|dd��j}dj|dd�}ttjj||�d�j�}|d	d}t j#|dd	d
�}	|	t$zr t'd|�d�t(j*����|j,j/t1||||	����y#t$rt
d|�d���wxYw)
NFz/sys/firmware/efi/efivars�"z" is not a valid efivarfs path�-���zInvalid efivarfs file "�rb��littlez!Skipping authenticated variable ")�file)�super�__init__�is_empty�os�path�isdir�	Exception�listdir�split�uuid�UUID�join�bytes_le�
ValueError�open�read�int�
from_bytes�2EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS�print�sys�stderr�vars�appendr)�selfr�	var_names�var_name�s�guid�name�content�data�attr�	__class__s          ��U/build/lxd/parts/uefivars/install/lib/python3.12/site-packages/pyuefivars/efivarfs.pyrzEFIVARFSUEFIVarStore.__init__sb���
������
��.�D��w�w�}�}�T�"��a��v�%C�D�E�E��J�J�t�$�	�"�	>�H����s�#�A�
G��y�y����!�B�C�&�!1�2�;�;��
�8�8�A�c�r�F�#�D��2�7�7�<�<��h�7��>�C�C�E�G��1�2�;�D��>�>�'�"�1�+�x�8�D��H�H��9�(��1�E�C�J�J�W��
�I�I���W�T�4��t�<�=�3	>���
G��"9�(��1� E�F�F�
G�s�61E%�%E>�returnc��td��)Nz(Unable to serialize efivarfs into a file)r)r)s r3�__str__zEFIVARFSUEFIVarStore.__str__?s���B�C�C�)�__name__�
__module__�__qualname__�__doc__r�strr6�
__classcell__)r2s@r3rrs����&>�PD��Dr7r)r�varstorerrrr%r#r�r7r3�<module>r@s'��
�+��
�59�2�2D�<�2Dr7