HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //lib/python3/dist-packages/sos/cleaner/mappings/__pycache__/mac_map.cpython-38.pyc
U

i��d�@s0ddlZddlZddlmZGdd�de�ZdS)�N)�SoSMapcsLeZdZdZddgZdZdZdZdZ�fdd	�Z	�fd
d�Z
dd
�Z�ZS)�	SoSMacMapa�Mapping store for MAC addresses

    MAC addresses added to this map will be broken into two halves, vendor and
    device like how MAC addresses are normally crafted. For the vendor hextets,
    obfuscation will take the form of 53:4f:53, or 'SOS' in hex. The following
    device hextets will be randomized, for example a MAC address of
    '60:55:cb:4b:c9:27' may be obfuscated into '53:4f:53:79:ac:29' or similar

    This map supports both 48-bit and 64-bit MAC addresses.

    48-bit address may take the form of either:

            MM:MM:MM:SS:SS:SS
            MM-MM-MM-SS-SS-SS

    For 64-bit addresses, the identifier injected by IPv6 standards is
    used in obfuscated returns. These addresses may take either of these forms:

        MM:MM:MM:FF:FE:SS:SS:SS
        MMMM:MMFF:FESS:SSSS

    All mapped mac addresses are converted to lower case.
    Dash delimited styles will be converted to colon-delimited style.
    zff:ff:ff:ff:ff:ffz00:00:00:00:00:00z53:4f:53:%s:%s:%sz53:4f:53:ff:fe:%s:%s:%sz534f:53ff:fe%s:%s%sFcs*|�dd����d���}tt|��|�S�N�-�:z=.,)�replace�lower�strip�superr�add��self�item��	__class__��>/usr/lib/python3/dist-packages/sos/cleaner/mappings/mac_map.pyr5sz
SoSMacMap.addcs*|�dd����d���}tt|��|�Sr)rrr	r
r�getrrrrr9sz
SoSMacMap.getcs�d�g}tdd�D]&}|�d��fdd�td�D���qt|�}t�d|�rX|j|St�d	|�rn|j|St�d
|�r�|j|SdS)zVRandomize the device hextets, and append those to our 'vendor'
        hextet
        Z0123456789abdcefr��c3s|]}t���VqdS)N)�randomZchoice)�.0�x�Z	hexdigitsrr�	<genexpr>Dsz*SoSMacMap.sanitize_item.<locals>.<genexpr>�z$(([0-9a-fA-F]{2}:){7}[0-9a-fA-F]{2})z&(([0-9a-fA-F]{4}:){3}([0-9a-fA-F]){4})z([0-9a-fA-F][:_]?){12}N)	�range�append�join�tuple�re�match�
mac6_template�mac6_quad_template�mac_template)r
rZhextets�irrr�
sanitize_item=s$

zSoSMacMap.sanitize_item)
�__name__�
__module__�__qualname__�__doc__Zignore_matchesr$r"r#Zcompile_regexesrrr&�
__classcell__rrrrrs�r)rr Zsos.cleaner.mappingsrrrrrr�<module>s