File: //usr/lib/python3/dist-packages/twisted/words/protocols/jabber/__pycache__/sasl.cpython-310.pyc
o
�b� � @ s� d Z ddlZddlmZmZ ddlmZ ddlmZm Z ddl
mZ dZdd � Z
G d
d� de�ZG dd
� d
e�ZG dd� de�ZG dd� de�Ze�d�Zdd� ZG dd� de j�ZdS )z
XMPP-specific SASL profile.
� N)� b64decode� b64encode)�defer)�sasl_mechanisms� xmlstream)�domishz urn:ietf:params:xml:ns:xmpp-saslc C s8 g }| j tdf �� D ]}|jdkr|�t|�� q|S )zJ
Parse the SASL feature to extract the available mechanism names.
�
mechanisms� mechanism)�features�NS_XMPP_SASL�elements�name�append�str)�xsr �element� r �E/usr/lib/python3/dist-packages/twisted/words/protocols/jabber/sasl.py�get_mechanisms s
�r c @ � e Zd ZdZdS )� SASLErrorz
SASL base exception.
N��__name__�
__module__�__qualname__�__doc__r r r r r � r c @ r )�SASLNoAcceptableMechanismzB
The server did not present an acceptable SASL mechanism.
Nr r r r r r % r r c @ s( e Zd ZdZddd�Zdefdd�ZdS ) �
SASLAuthErrorz%
SASL Authentication failed.
Nc C s
|| _ d S �N�� condition)�selfr! r r r �__init__0 �
zSASLAuthError.__init__�returnc C s
d| j S )NzSASLAuthError with condition %rr �r"