
    h                        d dl Z d dlZd dlZd dlmZmZmZ d dlmZ d dl	m
Z
mZmZmZ d dlmZmZmZ d dlmZmZ d dlmZ  G d d	e          Z ed
            eeee            eeee            eeedd           dS )    N)Packetsplit_layersbind_layers)IP)BitField	ByteFieldXShortField	XIntField)IPPROTO_VRRPVRRPVRRPv3)checksum	inet_aton)warningc                   x   e Zd Zd Z eddd           eddd           edd           edd           edd           ed	d           ed
d           edd           edd           edd           edd           edd           edd           edd           edd          gZd Z	dg g fdZ
dS )CARPversion   typevhid   advskewr   authlendemotionadvbasechksumNcounter1counter2hmac1hmac2hmac3hmac4hmac5c                     | j         8|d d         t          j        dt          |                    z   |dd          z   }|S )N   z!H   )r   structpackr   )selfpktpays      V/mounts/lovelace/software/anaconda3/lib/python3.11/site-packages/scapy/contrib/carp.py
post_buildzCARP.post_build'   s@    ;bqb'FKhsmm<<<s122wFC
    s                       c                    t          j        |t          j                  }|                    d           |                    t          j        d| j                             g }|D ]$}|                    t          |                     %|
                                 |D ]}|                    |           |                                S )N)	digestmod   !z!B)hmacnewhashlibsha1updater'   r(   r   appendr   sortdigest)r)   pwip4lip6lhslis          r,   build_hmac_sha1zCARP.build_hmac_sha1-   s    HR7<000		T49--... 	$ 	$AIIill####
			 	 	AHHQKKKK xxzzr.   )__name__
__module____qualname__namer   r   r	   r
   fields_descr-   r@    r.   r,   r   r      s1       D8Iq!,,8FAq))9VQ''9Y**9Y**9Z++9Y**;x..9Z++9Z++9Wa((9Wa((9Wa((9Wa((9Wa((K"   ".BR      r.   r   zCARP overwrites VRRP !)protop   z
224.0.0.18)rG   dst)r'   r2   r4   scapy.packetr   r   r   scapy.layers.inetr   scapy.fieldsr   r   r	   r
   scapy.layers.vrrpr   r   r   scapy.utilsr   r   scapy.errorr   r   rF   r.   r,   <module>rP      sI      : : : : : : : : : :             D D D D D D D D D D D D 8 8 8 8 8 8 8 8 8 8 + + + + + + + +      + + + + +6 + + +\   ! ! ! R\ * * * * R| , , , , BC\ 2 2 2 2 2 2r.   