CasperSecurity
o
VƧ\~ � @ s� d Z ddlZddlZddlZddlmZmZ ddlmZmZ ddlm Z ddlm
Z
ddlm m
Z
ddlm mZ ejZddlm mZ G dd� d�ZG d d
� d
�Ze�dej�ZdS )z>$Id: auth_handler.py,v 1.6 2002/11/25 19:40:23 akuchling Exp $� N)� as_string�as_bytes)�encodestring�decodestring)�long)�md5c @ sF e Zd Zddd�Zdd� Zdd� Zdd � Zd
d� Zdd
� Zdd� Z dS )�auth_handler�defaultc C s. t |�| _|| _|| _t�� | _t�� | _d S �N)�dictionary_authorizer�
authorizer�handler�realm�counter�
pass_count�
fail_count)�self�dictr
r � r �@/usr/lib/python3/dist-packages/supervisor/medusa/auth_handler.py�__init__# s
zauth_handler.__init__c C s | j �|�S r
)r
�match�r �requestr r r r * s zauth_handler.matchc C s� t t|j�}|rg|�� }|dkrXt t|jd�}z
ttt|���}W n tj� d| � |�
d� Y d S |�dd�}| j�
|�rQ| j�� ||_| j�|� d S | �|� d S tj� d| � | �|� d S | �|� d S )N�basic� z"malformed authorization info <%s>
i� �:� z$unknown/unsupported auth method: %s
)�
get_header�
AUTHORIZATION�header�lowerr r r �sys�stderr�write�error�splitr � authorizer � increment� auth_infor
�handle_request�handle_unauthorized)r r �scheme�cookie�decodedr) r r r r* . s(
zauth_handler.handle_requestc C s: | j �� |j�d � d|d<