/
lib64
/
python3.9
/
site-packages
/
mercurial
/
__pycache__
/
New Directory
Upload File
HOME
a �+�bXD � @ s� d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl Z d dl Z d dlZd dlZddl mZ ddlmZmZ ddlmZmZmZmZmZ ddlmZmZmZ ejr�d dlmZmZmZm Z e!eeee f�s�J �G d d � d e j"�Z#G dd� de j"�Z$d d� Z%dd� Z&dd� Z'dd� Z(dd� Z)d;dd�Z*d<dd�Z+dd� Z,dd� Z-d=d!d"�Z.d#d$� Z/d%d&� Z0d'd(� Z1d>d)d*�Z2d?d+d,�Z3d@d-d.�Z4dAd/d0�Z5dBd1d2�Z6ej7�r�ej8j9Z:d3d4� Z;d5d6� Z<nej8j:Z:d7d4� Z;d8d6� Z<d9d:� Z=dS )C� )�absolute_importN� )�_)�getattr�open)�encoding�error�pycompat�sslutil�util)�procutil� stringutil�urlutil)�Any�List�Tuple�Unionc @ s$ e Zd ZdZddd�Zddd�ZdS ) �STARTTLSz�Derived class to verify the peer certificate for STARTTLS. This class allows to pass any keyword arguments to SSL socket creation. Nc K s$ t jj| fi |�� || _|| _d S �N)�smtplib�SMTP�__init__�_ui�_host)�self�ui�host�kwargs� r �4/usr/lib64/python3.9/site-packages/mercurial/mail.pyr 5 s zSTARTTLS.__init__c C sx | � d�sd}t�|��| �d�\}}|dkrptj| j||| j| jd�| _| j� d�| _ d | _d | _i | _ d| _||fS )N�starttlss* STARTTLS extension not supported by serverr �� �r Zserverhostname�rbr )Zhas_extnr � SMTPExceptionZdocmdr � wrapsocket�sockr r �makefile�fileZ helo_respZ ehlo_respZesmtp_featuresZ does_esmtp)r �keyfile�certfile�msgZrespZreplyr r r r : s$ �zSTARTTLS.starttls)N)NN)�__name__� __module__�__qualname__�__doc__r r r r r r r / s r c @ s"