Your IP : 216.73.216.213
B
�d{TX
� @ s� d dl mZ d dlZd dlZd dlZG dd� de�Zd dlZe� dej
�Zdd� ZG dd � d ej
�Zed
kr�d dlZd dlZdej_dej_d dlZejejd� d dlZe�� Ze�e�Ze� Ze�ee��ejd �Z e!d
e j" e �#� � dS )� )�print_functionNc @ s e Zd ZdZdS )�GssapiAuthErrorz-raised on error during authentication processN)�__name__�
__module__�__qualname__�__doc__� r r �J/opt/alt/python37/lib/python3.7/site-packages/logilab/common/urllib2ext.pyr s r z (?:.*,)*\s*Negotiate\s*([^,]*),?c C s0 x*| � d�D ]}t�|�}|r|�d�S qW d S )Nzwww-authenticate� )Z
getheaders�RGX�search�group)�headersZauthreq�matchr r r �get_negociate_value s
r c @ s4 e Zd ZdZdZdd� Zdd� Zdd� Zd d
� ZdS )�HTTPGssapiAuthHandlerz7Negotiate HTTP authentication using context from GSSAPIi� c C s | � � d S )N)�_reset)�selfr r r �__init__ s zHTTPGssapiAuthHandler.__init__c C s d| _ d | _d S )Nr )�_retried�_context)r r r r r s zHTTPGssapiAuthHandler._resetc C s | j d k rt�| j � d S )N)r �krbZauthGSSClientClean)r r r r �
clean_context s
z#HTTPGssapiAuthHandler.clean_contextc
C s� �z��yN| j dkr(t�|�� dd|d ��| j d7 _ t�d| j � t|�}|d krdt�d� d S t�d| � t�d|� � �\}| _
|dk r�td | ��t�| j
|�}|d
k r�td| ��t�
| j
�}t�d|d d
� � |�dd| � | j�|�} t| �� �}|d k�r t�d� n2t�d| � t�| j
|�}|dk �rRtd| ��| S tk
�r� }
zt�t|
�� W d d }
~
X Y nX W d | �� | �� X d S )N� i� znegotiate auth failedr
zgssapi handler, try %sz/no negociate found in a www-authenticate headerz(HTTPGssapiAuthHandler: negotiate 1 is %rzHTTP@%sz*HTTPGssapiAuthHandler: init failed with %dr z,HTTPGssapiAuthHandler: step 1 failed with %dz/HTTPGssapiAuthHandler: client response is %s...�
Z
AuthorizationzNegotiate %sz4HTTPGssapiAuthHandler: failed to authenticate serverz%HTTPGssapiAuthHandler negotiate 2: %sz,HTTPGssapiAuthHandler: step 2 failed with %d)r �urllib2Z HTTPErrorZget_full_url�logging�debugr r ZauthGSSClientInitZget_hostr r ZauthGSSClientStepZauthGSSClientResponseZadd_unredirected_header�parent�open�info�warning�error�reprr r )r �req�fp�code�msgr Z negotiate�resultZclient_responseZserver_response�excr r r �http_error_401$ sB
$z$HTTPGssapiAuthHandler.http_error_401N) r r r r Z
handler_orderr r r r* r r r r r s r �__main__r
)�levelz
response: %s
--------------
)$�
__future__r r r Zkerberosr � Exceptionr �re�compile�Ir r ZBaseHandlerr r �sysZhttplibZHTTPConnectionZ
debuglevelZHTTPSConnection�basicConfig�DEBUGZ cookielibZ CookieJarZcjZHTTPCookieProcessor�ch�hZbuild_openerr �argv�response�printr&