ok
Mini Shell
3
���f!�@s:ddlmZddlmZddlZddlZGdd�d�ZdS)�)�defaultdict�)�dnskeyNc@sneZdZdZedd��ZdZgZddd�Zdd�Z d d
�Z
dd�Zd
d�Zdd�Z
dd�Zdd�Zdd�ZdS)�keydictz> A dictionary of keys, indexed by name, algorithm, and key id cCstt�S)N)r�dict�rr�/usr/lib/python3.6/keydict.py�<lambda>szkeydict.<lambda>NcKs�|jdd�|_|jdd�}|s:|jdd�p,d}|j|�nXxV|D]N}d|krb|ddk rb|d}n|rr|j|�jptd}|j||�s@|jj|�q@WdS)NZkeyttl�zones�path�.)�get�_defttl�readallZpolicyZ directory�readone�_missing�append)�selfZdp�kwargsr
r�zonerrr�__init__s
zkeydict.__init__cCsLtjtjj|d��}x2|D]*}t|||j�}||j|j|j|j <qWdS)Nz *.private)
�glob�osr�joinrr�_keydict�name�alg�keyid)rr�files�infile�keyrrrr,s
zkeydict.readallc Cs�|jd�s|d7}d|d}tjtjj||��}d}xR|D]J}t|||j�}|j|krZq<|dkrh|jnd}||j ||j
|j<d}q<W|S)Nr�Kz
+*.privateFT)�endswithrrrrrr�fullnamerrrr) rrr�matchr�foundrr Zkeynamerrrr3s
zkeydict.readoneccsJxD|jj�D]6\}}x,|j�D] \}}x|j�D]
}|Vq0WqWqWdS)N)r�items�values)rr�
algorithmsr�keysr rrr�__iter__Dszkeydict.__iter__cCs
|j|S)N)r)rrrrr�__getitem__Jszkeydict.__getitem__cCs
|jj�S)N)rr))rrrrr
Msz
keydict.zonescCs|j|j�S)N)rr))rrrrrr(Pszkeydict.algorithmscCs|j||j�S)N)rr))rrrrrrr)Sszkeydict.keyscCs|jS)N)r)rrrr�missingVszkeydict.missing)N)�__name__�
__module__�__qualname__�__doc__rrrrrrrr*r+r
r(r)r,rrrrrs
r)�collectionsr�rrrrrrrr�<module>s
Zerion Mini Shell 1.0