File: //lib/python3.6/site-packages/sshuttle/__pycache__/cmdline.cpython-36.opt-1.pyc
3
>��]� � @ s� d dl Z d dlZd dlZd dljZd dljZd dljZd dl j
Z
d dljZd dl
mZmZ d dlmZmZmZ d dlmZ dd� ZdS )� N)�parser�parse_ipport)�family_ip_tuple�log�Fatal)�sudoersc C s� t j� } | js| jr\tj� jd�r2td� td� | jsHtd� td� t| j | j| jd� | j
rhd| _| jr�dd l
j}| j|_| jr�dd l
j}| j|_| jt_�y�| jr�| js�| jr�t jd� tj| j| j�S | jr�tj| j| j�S | j| j }| j}| �r| j �rt jd� | j}|d k�s.|d
k�r2d }dd� | j D �}| j!�rdt"j#d
| j!�pZd j$� �}n| j�rrg }nd }| j%�r�d }d }| j%j#d�} xP| D ]2}
t&|
�\}}
}|t'j(k�r�|
|f}n|
|f}�q�W nd}| j)�s�dnd }| j�rt*j+� t*j,� t*j-� t*j.� t/j||| j0|| j1| j2| j3|| j|| j| j||| j
| j4| j5| j6| j7�}
|
dk�rftd� ntd|
� |
S W nR t8k
�r� } ztd| � dS d }~X n& t9k
�r� td� td� dS X d S )NZOpenBSDz&Automatic sudoers does not work on BSD� z%--sudoers-file must be set or omited.)Z user_nameZ no_modify� file_namer zexactly zero arguments expectedz0at least one subnet, subnet file, or -N expected� �-c S s g | ]}t |��qS � )r )�.0�nsr r �/usr/lib/python3.6/cmdline.py�
<listcomp>: s zmain.<locals>.<listcomp>z[\s,]+�,�autozNormal exit code, exiting...z*Abnormal exit code %d detected, failing...z
fatal: %s
�c �
zKeyboard interrupt: exiting.
):r �
parse_argsr Zsudoers_no_modify�platform�
startswithr �exitZsudoers_filenameZsudoers_userZdaemonZsyslogZwrapZsshuttle.ssnet�ssnetZMAX_CHANNELZlatency_buffer_sizeZLATENCY_BUFFER_SIZE�verbose�helpers�firewallZsubnetsZsubnets_file�error�main�method� hostwatchZhw_mainZ
auto_hosts�excludeZ auto_netsZremoteZns_hostsZ
seed_hosts�re�split�stripZlistenr �socketZAF_INET6Zdisable_ipv6�ssyslogZstart_syslogZclose_stdinZstdout_to_syslogZstderr_to_syslog�clientZssh_cmd�pythonZlatency_controlZdnsZto_nsZpidfile�userZsudo_pythonpathr �KeyboardInterrupt)�optr ZincludesZexcludesZ
remotenameZnslistZshZ ipport_v6Z ipport_v4ZlstZipZfamilyZportZreturn_code�er r r r s�
r )r"