File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/__pycache__/travisci.cpython-310.pyc
o
�N�g0 � @ st d Z ddlZddlZddlZddlmZ zddlZddl ZdZ
W n ey+ dZ
Y nw dZdZ
dd � Zd
d� ZdS )zD
Commands for working with travisci.
:depends: pyOpenSSL >= 16.0.0
� N)�VersionTFz16.0.0Ztraviscic C sB t du rdd�t�fS ttj�} tt�}| |k rdd�t�fS tS )NFzDThe travisci module was unable to be loaded: Install pyOpenssl >= {})�HAS_OPENSSL�format�OPENSSL_MIN_VERr �OpenSSL�__version__�__virtualname__)Zcur_versionZmin_version� r �I/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/travisci.py�__virtual__ s ��
��r c C s� t d d�d d d d }tj�tjj|�}tj�� }|�|� t�| �} t j
j�t
j�|�d d �}ztj�|| |d � W dS tjjyM Y d
S w )a�
Verify the webhook signature from travisci
signature
The signature header from the webhook header
body
The full payload body from the webhook post
.. note:: The body needs to be the urlencoded version of the body.
CLI Example:
.. code-block:: bash
salt '*' travisci.verify_webhook 'M6NucCX5722bxisQs7e...' 'payload=%7B%22id%22%3A183791261%2C%22repository...'
z
http.queryz https://api.travis-ci.org/configZconfigZ
notificationsZwebhook�
public_key�payloadr �sha1FT)Z __utils__r ZcryptoZload_publickeyZFILETYPE_PEMZX509Z
set_pubkey�base64� b64decode�salt�utils�json�loads�urllib�parse�parse_qsZverify�Error)Z signature�bodyr Zpkey_public_keyZcertificater
r r r
�verify_webhook. s( ����
��r )�__doc__r �urllib.parser Zsalt.utils.jsonr Zsalt.utils.versionsr r ZOpenSSL.cryptor �ImportErrorr r r r r r r r
�<module> s �