%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /proc/2/cwd/lib/python2.7/site-packages/ufw/
Upload File :
Create Path :
Current File : //proc/2/cwd/lib/python2.7/site-packages/ufw/frontend.pyc

�
V�Vc@s�dZddlZddlZddlZddlmZddlZddlmZm	Z	m
Z
ddlmZddl
Zd�Zd�Zdd
d	��YZdS(s'frontend.py: frontend interface for ufwi����N(tUFWError(terrortwarntmsg(tUFWBackendIptablesc	Cs�tjj�}x?ddddddddgD]}|jtjj|��q.Wx3d	d
ddgD]}|jtjj|��qdWx9d
dddddgD]}|jtjj|��q�Wx0dddgD]}|jtjj|��q�Wx0d-ddgD]}|jtjj	|��qWx?ddddddddgD]}|jtjj
|��qHWdd ddd!d"g}x@|D]8}|jtjj|��|jtjj|��q�Wt
|�d#krUd$}||j�d%kr�d#}n||j�dkrU||j�d&krU||j�|krU|j|d'�qUnt
|�d#ks�d%|kr�t
|�d(kr�td)�ny|j|d$�}WnGtk
r�}td*|j�n$tk
r�td+d,t��nX|S(.sEParse command. Returns tuple for action, rule, ip_version and dryrun.tenabletdisablethelps--helptversions	--versiontreloadtresettlisttinfotdefaulttupdatetontofftlowtmediumthightfulltallowtdenytrejecttverbosetnumberedtrawsbefore-ruless
user-rulessafter-ruless
logging-rulestbuiltinst	listeningtaddedtlimittinserttdeleteiis	--dry-runtroutetruleisnot enough argss%ssInvalid syntaxtdo_exitN(tufwtparsert	UFWParsertregister_commandtUFWCommandBasict
UFWCommandApptUFWCommandLoggingtUFWCommandDefaulttNonetUFWCommandStatustUFWCommandShowtUFWCommandRuletUFWCommandRouteRuletlentlowerRRt
parse_commandRtvaluet	ExceptiontFalse(targvtptit
rule_commandstidxtprte((s0/usr/lib/python2.7/site-packages/ufw/frontend.pyR3sJ
	0

cCstdi"tjjd6dd6dd6dd6dd6d	d
6dd6d
d6dd6dd6dd6dd6dd6dd6dd6dd6dd6d d!6d"d#6d$d%6d&d&6d'd'6d(d(6d)d*6d+d,6d-d.6d/d06d1d16d2d36d4d56d6d76d8d96d:d;6d<d=6�}|S(>sPrint help messages	
Usage: %(progname)s %(command)s

%(commands)s:
 %(enable)-31s enables the firewall
 %(disable)-31s disables the firewall
 %(default)-31s set default policy
 %(logging)-31s set logging to %(level)s
 %(allow)-31s add allow %(rule)s
 %(deny)-31s add deny %(rule)s
 %(reject)-31s add reject %(rule)s
 %(limit)-31s add limit %(rule)s
 %(delete)-31s delete %(urule)s
 %(insert)-31s insert %(urule)s at %(number)s
 %(route)-31s add route %(urule)s
 %(route-delete)-31s delete route %(urule)s
 %(route-insert)-31s insert route %(urule)s at %(number)s
 %(reload)-31s reload firewall
 %(reset)-31s reset firewall
 %(status)-31s show firewall status
 %(statusnum)-31s show firewall status as numbered list of %(rules)s
 %(statusverbose)-31s show verbose firewall status
 %(show)-31s show firewall report
 %(version)-31s display version information

%(appcommands)s:
 %(applist)-31s list application profiles
 %(appinfo)-31s show information on %(profile)s
 %(appupdate)-31s update %(profile)s
 %(appdefault)-31s set default application policy
tprognametCOMMANDtcommandtCommandstcommandsRRsdefault ARGR
s
logging LEVELtloggingtLEVELtlevels
allow ARGSRR"s	deny ARGSRsreject ARGSRs
limit ARGSRsdelete RULE|NUMR tRULEturulesinsert NUM RULERs
route RULER!sroute delete RULE|NUMsroute-deletesroute insert NUM RULEsroute-inserttNUMtnumberR	R
tstatussstatus numberedt	statusnumtRULEStrulessstatus verboset
statusverbosesshow ARGtshowRsApplication profile commandstappcommandssapp listtapplistsapp info PROFILEtappinfotPROFILEtprofilesapp update PROFILEt	appupdatesapp default ARGt
appdefault(t_R$tcommontprogramName(thelp_msg((s0/usr/lib/python2.7/site-packages/ufw/frontend.pytget_command_helpXsHtUFWFrontendcBs�eZdZdddd�Zd�Zd�Zd�Zeed�Z	dd�Z
d	�Zd
�Zd�Z
ed�Zed
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zed�ZRS(tUItiptablescCs�|dkrEyt|d|d|�|_WqUtk
rA�qUXntd|��td�|_td�|_td�|_dS(NR^trootdirtdatadirsUnsupported backend type '%s'tntytyes(RtbackendR5RRWtnoRctyes_full(tselftdryruntbackend_typeR_R`((s0/usr/lib/python2.7/site-packages/ufw/frontend.pyt__init__�s

cCs�d}d}|rd}nt}|r7|jj�sM|rV|jj�rVt}n|r�y$|jj|jjdd|�Wq�tk
r�}t|j�q�Xnd}|rZy|jj	�Wn%tk
r�}|r�|j}q�nX|dkrKy$|jj|jjddd�Wn tk
r=}t|j�nXt|�nt
d�}n@y|jj�Wn tk
r�}t|j�nXt
d�}|S(slToggles ENABLED state in <config_dir>/ufw/ufw.conf and starts or
           stops running firewall.
        tReRctconftENABLEDs0Firewall is active and enabled on system startups/Firewall stopped and disabled on system startup(R6Rdt
is_enabledtTruetset_defaulttfilesRRR4tstart_firewallRWt
stop_firewall(Rgtenabledtrest
config_strtchangedR=t	error_str((s0/usr/lib/python2.7/site-packages/ufw/frontend.pytset_enabled�sF		
cCsrd}yE|jj||�}|jj�rJ|jj�|jj�nWn tk
rm}t|j�nX|S(sSets default policy of firewallRk(Rdtset_default_policyRnRsRrRRR4(Rgtpolicyt	directionRuR=((s0/usr/lib/python2.7/site-packages/ufw/frontend.pyRz�s
cCsCd}y|jj|�}Wn tk
r>}t|j�nX|S(sSets log level of firewallRk(Rdtset_loglevelRRR4(RgRERuR=((s0/usr/lib/python2.7/site-packages/ufw/frontend.pyR}�scCs@y|jj||�}Wn tk
r;}t|j�nX|S(sShows status of firewall(Rdt
get_statusRRR4(RgRt
show_counttoutR=((s0/usr/lib/python2.7/site-packages/ufw/frontend.pyR~�s
RcCs=y|jj|�}Wn tk
r8}t|j�nX|S(sShows raw output of firewall(Rdtget_running_rawRRR4(Rgt
rules_typeR�R=((s0/usr/lib/python2.7/site-packages/ufw/frontend.pytget_show_raws
cCs�d}ytjj|jj��}Wn)tk
rPtd�}t|��nX|jj�}t	|j
��}|j�xL|D]D}|jj�r�|d kr�q�n|d|7}t	||j
��}|j�x�|D]�}x�|||D]�}	|	d}
|
jd�r�|
jd�r�d}|d	|7}|
d
ksQ|
dkrl|d7}d
|	d}
n |d|
7}tjj
|
�}|dtjj|	d�7}tjjddd|d d|d|
dddt�}|j|jd��|dkr|jd|�n|j�|jj|�}
t|
�dkr�|d7}xa|
D]V}|dkrU|dt|�krU|d|tjjj||d�f7}qUqUWn|d7}q�q�Wq�Wq�W|jj�s�tjjd�n|S(!sMShows listening services and incoming rules that might affect
           themRksCould not get listening statusttcp6tudp6s%s:
tladdrs127.s::1s  %s s0.0.0.0s::s* s%s/0s%s s(%s)texetactionRtprotocolitdporttdstR|tintforwardt6is
is   [%2d] %s
s)Skipping tcp6 and udp6 (IPv6 is disabled)(R�R�(R$tutiltparse_netstat_outputRdtuse_ipv6R5RWRt	get_rulesRtkeystsortt
startswithtget_if_from_iptostpathtbasenameRXtUFWRuleR6tset_v6tendswitht
set_interfacet	normalizetget_matchingR1R%R/tget_commandtdebug(RgRutdterr_msgRMt	protocolstprototportstporttitemtaddrtifnameR"tmatchingR9((s0/usr/lib/python2.7/site-packages/ufw/frontend.pytget_show_listeningsd







	


"	 cCs�|jj�}td�}t|�dkr;|td�Sg}x~|jj�D]m}|jr|dtjjj|�}ntjj	j|�}||kr�qQn|j
|�|d|7}qQW|S(s!Shows added rules to the firewalls9Added user rules (see 'ufw status' for running firewall):is
(None)sroute %ss
ufw %s(RdR�RWR1R�R$R%R0R�R/tappend(RgRMR�Rtrtrstr((s0/usr/lib/python2.7/site-packages/ufw/frontend.pytget_show_addedWs	
cCs�d}d}d}g}|jdkrF|jdkrF|j|�n(g}y|jr(|dkr||jj|t�}n�|dkr�|jj|t�}n�|dkr5|jj|t�}|jj|t�}xx|D]Q}	xH|D]@}
|
j}t|
_|	j	|
�s�||
_|j|
�q�q�Wq�Wnt
d�|}t|��t|�dkr�|jj
r�t
d�}|dkr�|}n:|dkr�|d}n!|dkr�|d	|d}n|Sx�|D]K}|j�}|j|_|j|j�|j|j�|j|�q�Wn.|jj|�}|jdkrV|j�nWntk
rm�nXd}
t}t
d
�}|jjt�}|jjt�}x�t|�D]�\}}|}
|j||kr|t|j�d7}t|��nyX|jj�r�|dkrw|j|krU|t|j�d7}t|��n|jt�|jj|�}qY|dkr|j|kr�|j|j|�nD|jdkr�|j|kr�|t|j�d7}t|��n|jt�|jj|�}qY|dkr�|j}|jt�|jr�||kr�|jj|||
t�}|dkr�|j|�q�|jd�n|jj|�}|jr�|dkr�|jjt�}|j|d�n|jt�|jr[|jdkr[|j|kr[|jj|jt�}|dkrK|j||
�q[|jd�n|dkrt|d	7}n|jr�|j|kr�|j|j|�n||jj|�7}qYt
d�|}t|��n}|dks�|dkr|jt�|jj|�}nC|dkr=t
d
�}t|��nt
d�|}t|��Wn#tk
r}|j}t}PnX|j r�t
d�}t!j"|�q�q�W|s�||7}nt|�dkr�t#|�n�t}t$t%|
d��}|j�x�|D]�}|
dkr||r||j�}t|_y|j||�Wq�tk
r�t}t
d�|j&�}t"|�q�XqqW|t
d�7}|r�|t
d�7}n|t
d�7}t|��|S(sUpdates firewall with ruleRktv4tv6tbothsInvalid IP version '%s'is"Could not delete non-existent rules (v6)s
sInvalid position 't'isIPv6 support not enableds Rule changed after normalizationsCould not back out rule '%s's"
Error applying application rules.s# Some rules could not be unapplied.s( Attempted rules successfully unapplied.('tdapptsappR�tremoveRdtget_app_rules_from_systemR6RoR�tmatchRWRR1Rhtdup_rulet
set_actionR�tset_logtypetlogtypetget_app_rules_from_templatetpositiontreverseR5tget_rules_countt	enumeratetstrR�R�tset_ruletset_positiontfind_other_positionR4tupdatedtwarningsRRRtrangetformat_rule(RgR"t
ip_versionRuR�ttmpRMttmprulest	tmprules6txRbtprev6R�tcountt	set_errortpos_err_msgtnum_v4tnum_v6R9tuser_posR8R=twarn_msgt
undo_errortindexestjtbackout_rule((s0/usr/lib/python2.7/site-packages/ufw/frontend.pyR�ts					

				




	
	
	

		



	
	
c
Cs�yt|�}Wn-tk
r?td�|}t|��nX|jj�}|dksm|t|�kr�td�|}t|��n|jj|�}|s�td�|}t|��nt|_	d}|j
r�d}nt}|s�|jrdtj
jj|�}	ntj
jj|�}	td�i|	d6|jd	6|jd
6}
t|
dtjdt�tjj�j�j�}|d
kr�||jj�kr�||jj�kr�t}q�nd}|r�|j||�}ntd�}|S(sDelete rulesCould not find rule '%s'isCould not find rule '%d'R�R�sroute %ss=Deleting:
 %(rule)s
Proceed with operation (%(yes)s|%(no)s)? R"RcRetoutputtnewlineRbRktAborted(tintR5RWRRdR�R1tget_rule_by_numberRoR�R�R�R$R%R0R�R/RcReRtsyststdoutR6tstdintreadlineR2tstripRfR�(
RgRItforceRaR�RMR"R�tproceedR�tprompttansRu((s0/usr/lib/python2.7/site-packages/ufw/frontend.pytdelete_rule0sJ
					

!c	CsUd}|jd�r^|jd�}t|�dkrL|j|d�}qQ|jd�}n�|dkr||jd�}n�|jd�r�td	�}|jd
�}t|�dkr�t|��n|j|d|d�}nm|d
kr|j|�}nO|dkr|j�}n4|dkr;|jt	�}n|jd�r�|jd
�d}|dkrx|j
�}qQ|dkr�|j�}qQ|j|�}n�|dkr�|jt
t	�}n�|dkr�|jt	�}nm|dkr|jt
�}nO|dkrU|jj�rF|jt
�|jt	�td�}qQtd�}n�|jd�r�|j|jd
�d|�}n�|dks�|dks�|dks�|dkr5|jdkrkyD|jj|j�}||jkr||_|j|d�nWqktk
rg}|js4t|j�ntjj|j�shtd�}t|��qhqkXn|jdkr yD|jj|j�}||jkr�||_|j|d�nWq tk
r}|js�t|j�ntjj|j�std�}t|��qq Xn|j||�}ntd �|}t|��|S(!s�Perform action on rule. action, rule and ip_version are usually
           based on return values from parse_command().
        Rks
logging-onRWiRslogging-offRsdefault-sUnsupported default policyt-iiR
RJsstatus-verboseRORRsstatus-numberedRRR	sFirewall reloadeds&Firewall not enabled (skipping reload)sdelete-RRRRR�sInvalid profile namesUnsupported action '%s'(R�tsplitR1R}RWRRzR
R~RoR�R�R�R6RyRdRnR�R�tfind_application_nametset_portR�RR4R$tapplicationstvalid_profile_nameR�R�(	RgR�R"R�R�RuR�R�R=((s0/usr/lib/python2.7/site-packages/ufw/frontend.pyt	do_actionas�

"$				cCsCd}y|jj|�}Wn tk
r>}t|j�nX|S(s+Sets default application policy of firewallRk(Rdtset_default_application_policyRRR4(RgR{RuR=((s0/usr/lib/python2.7/site-packages/ufw/frontend.pyR��scCsQt|jjj��}|j�td�}x|D]}|d|7}q5W|S(s*Display list of known application profilessAvailable applications:s
  %s(RRdtprofilesR�R�RW(RgtnamesR�Ra((s0/usr/lib/python2.7/site-packages/ufw/frontend.pytget_application_list�s

cCs#g}|dkr7t|jjj��}|j�n:tjj|�sdtd�}t	|��n|j
|�d}x�|D]�}||jjks�|jj|r�td�|}t	|��ntjj||jj|�std�}t	|��n|td�|7}|td�tjj|jj|�7}|td�tjj
|jj|�7}tjj|jj|�}t|�d	ks�d
|dkr�|td�7}n|td
�7}x|D]}|d|7}q�W||t|�d	kr~|d7}q~q~Wtjj|�S(sDisplay information on profiletallsInvalid profile nameRksCould not find profile '%s'sInvalid profilesProfile: %s
s
Title: %s
sDescription: %s

it,isPorts:sPort:s
  %ss

--

(RRdR�R�R�R$R�R�RWRR�tverify_profilet	get_titletget_descriptiont	get_portsR1R�t	wrap_text(RgtpnameR�R�R�tnameR�R8((s0/usr/lib/python2.7/site-packages/ufw/frontend.pytget_application_info�sB


	"
c	Cs~d}t}t}y(|jjr9tjj�r9t}nWntk
rSt}nX|dkr�t|jj	j
��}|j�x�|D]P}|jj|�\}}|r�|dkr�|d7}n||7}|}q�q�Wn1|jj|�\}}|dkr|d7}n|rz|jj
�rz|rgy|jj�Wntk
rS�nX|td�7}qz|td�7}n|S(sRefresh application profileRkR�s
sFirewall reloadedsSkipped reloading firewall(RoR6Rdt	do_checksR$R�t	under_sshR5RR�R�R�tupdate_app_ruleRnt_reload_user_rulesRW(	RgRTR�tallow_reloadttrigger_reloadR�R8R�tfound((s0/usr/lib/python2.7/site-packages/ufw/frontend.pytapplication_update�s<








cCsxd}d}|dkr3td�}t|��n|jjd}|dkrmtjjd||f�|S|dkr�d}nF|d	kr�d
}n1|dkr�d}ntd�|}t|��d
g}|jjr�|jd�n|||g7}yt	|�}Wnt
k
r#�nXd|jkr\|j|j
|jd|jd�}n|j|j
dd�}|S(sRefresh application profileRkR�s%Cannot specify 'all' with '--add-new'tdefault_application_policytskips'Policy is '%s', not adding profile '%s'tacceptRtdropRRsUnknown policy '%s'R$s	--dry-runR"tiptype(RWRRdtdefaultsR$R�R�RhR�R3R5tdataR�R�(RgRTR�R{R�R
targsR<((s0/usr/lib/python2.7/site-packages/ufw/frontend.pytapplication_add#s>				
cCsTd}|dkr$|jd�}n,|dkrB|jd�}n|dkr`|jd�}n�|dkr~|jd	�}n�|d
kr�|j�}n�|dkr�|j|�}n�|dks�|d
kr4|j|�}d}|d
kr|j|�}n|dkr'|dkr'|d7}n||}ntd�|}t|��|S(szPerform action on profile. action and profile are usually based on
           return values from parse_command().
        Rks
default-allowRsdefault-denyRsdefault-rejectRsdefault-skipR	RRRsupdate-with-news
sUnsupported action '%s'(R�R�R�RRRWR(RgR�RTRutstr1tstr2R�((s0/usr/lib/python2.7/site-packages/ufw/frontend.pytdo_application_actionMs0

cCs�t}|jjr�tjj�r�td�i|jd6|jd6}t	|dt
jdt�t
j
j�j�j�}|dkr�||jkr�||jkr�t}q�n|S(s6If running under ssh, prompt the user for confirmationsWCommand may disrupt existing ssh connections. Proceed with operation (%(yes)s|%(no)s)? RcReR�R�Rb(RoRdRR$R�RRWRcReRR�R�R6R�R�R2R�Rf(RgR�R�R�((s0/usr/lib/python2.7/site-packages/ufw/frontend.pytcontinue_under_sshms	*cCs4d}td�i|jd6|jd6}|jjrltjj�rltd�i|jd6|jd6}n|jjr�|r�ttjj	|�dt
jdt�t
j
j�j�j�}|dkr�||jkr�||jkr�td	�}|Sn|jj�r!||jt�7}n|jj�}|S(
sReset the firewallRksTResetting all rules to installed defaults. Proceed with operation (%(yes)s|%(no)s)? RcResResetting all rules to installed defaults. This may disrupt existing ssh connections. Proceed with operation (%(yes)s|%(no)s)? R�R�RbR�(RWRcReRdRR$R�RRR�R�R�R6R�R�R2R�RfRnRyR
(RgR�RuR�R�((s0/usr/lib/python2.7/site-packages/ufw/frontend.pyR
{s 		%*N(t__name__t
__module__t__doc__R,RjRyRzR}R6R~R�R�R�R�R�R�R�R�R�RRRRR
(((s0/usr/lib/python2.7/site-packages/ufw/frontend.pyR\�s*	6	
	
			H		�1V	
			.	+	*	 	((RR�R�R�t
ufw.commonRtufw.utilR$RRRtufw.backend_iptablesRt
ufw.parserR3R[R\(((s0/usr/lib/python2.7/site-packages/ufw/frontend.pyt<module>s	<	F

Zerion Mini Shell 1.0