o
    �õ±j>  ã                   @   s¬   d dl Z d dlZd dlZd dlZd dlmZmZ d dlmZ d dl	m
Z
 d dlmZ d dlmZ d dlmZ d dlmZ d d	lmZ dd
d„Zdd„ ZedkrTeƒ  dS dS )é    N)ÚKerberosClientFactoryÚkerberos_url_help_epilog)ÚKerberosTarget)ÚUniProto)ÚKerberosSPN)ÚAIOKerberosClient)ÚKirbi)ÚKerberosCredential)Úloggerc           
      Ã   sœ   �t |tƒrt |¡}t | ¡}| ¡ }t d¡ | 	¡ I d H  t d¡ | 
|j¡I d H \}}}}t ||¡}	tt|	ƒƒ |d urG|	 |¡ t d¡ d S )NzGetting TGTz"Getting TGS for otherdomain krbtgtzDone!)Ú
isinstanceÚstrr   Úfrom_spnr   Úfrom_urlÚ
get_clientÚloggingÚdebugÚget_TGTÚget_referral_ticketÚdomainr   Úfrom_ticketdataÚprintÚto_fileÚinfo)
Úkerberos_urlÚ	kirbifileÚspnÚcuÚclientÚref_tgsÚref_encpartÚref_keyÚnew_factoryÚkirbi© r#   ú’/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/minikerberos/examples/crosstest.pyÚgetTGS   s   €





r%   c                  C   s´   dd l } | jd| jtd�}|jddddd� |jdd	d
� |jddd
� t tj¡ | 	¡ }|j
dkr;tjtjd� n|j
dkrHtjtjd� ntjdd� t t|j|jƒ¡ d S )Nr   zQPolls the kerberos service for a TGS for the sepcified user and specified service)ÚdescriptionÚformatter_classÚepilogz-vz	--verboseÚcount)ÚactionÚdefaultz--kirbizPkirbi file to store the TGT ticket in, otherwise kirbi will be printed to stdout)Úhelpr   zthe kerberos target string. )Úlevelé   )ÚargparseÚArgumentParserÚRawDescriptionHelpFormatterr   Úadd_argumentr
   ÚsetLevelr   ÚDEBUGÚ
parse_argsÚverboseÚbasicConfigÚINFOÚasyncioÚrunr%   r   r"   )r/   ÚparserÚargsr#   r#   r$   Úmain   s   

r=   Ú__main__)N)Úosr   r9   ÚcopyÚminikerberos.common.factoryr   r   Úminikerberos.common.targetr   Úasysocks.unicomm.common.targetr   Úminikerberos.common.spnr   Úminikerberos.aioclientr   Úminikerberos.common.kirbir   Úminikerberos.common.credsr	   Úminikerberosr
   r%   r=   Ú__name__r#   r#   r#   r$   Ú<module>   s"    

ÿ