Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
3 ³Y„jÕ2ã@sÆdddgZddljZddlZddlZddlZddlmZddlm Z ddl m Z m Z m Z mZmZmZmZmZddlmZdd lmZdd lmZGd d„de ƒZGd d „d e ƒZdd„Zddd„ZdS)ÚServiceÚservice_readerÚservice_writeréN)Úconfig)Ú u2b_if_py2)ÚPY2Ú IO_ObjectÚIO_Object_ContentHandlerÚIO_Object_XMLGeneratorÚ check_portÚ check_tcpudpÚcheck_protocolÚ check_address)Úlog)Úerrors)Ú FirewallErrorc sºeZdZd d!d"dd#gfddgfdddifddgfd d$gfd dgfd dgff Zd d gZddddœZddgddgdgdgddgddgdgdgdœZ‡fdd„Zdd„Zdd„Z dd„Z ‡Z S)%rÚversionÚÚshortÚ descriptionÚportsÚmodulesÚ destinationÚ protocolsÚ source_portsÚincludesÚhelpersÚ_ú-N)rrÚserviceÚnameÚportÚprotocolÚvalueÚipv4Úipv6r)rr!r"Úmodulerz source-portÚincludeÚhelpercsNtt|ƒjƒd|_d|_d|_g|_g|_g|_i|_ g|_ g|_ g|_ dS)Nr) ÚsuperrÚ__init__rrrrrrrrrr)Úself)Ú __class__©ú/usr/lib/python3.6/service.pyr*DszService.__init__cCshd|_d|_d|_|jdd…=|jdd…=|jdd…=|jjƒ|jdd…=|j dd…=|j dd…=dS)Nr) rrrrrrrÚclearrrr)r+r-r-r.ÚcleanupQs      zService.cleanupcCsªt|jƒ|_t|jƒ|_t|jƒ|_dd„|jDƒ|_dd„|jDƒ|_dd„|jjƒDƒ|_dd„|jDƒ|_dd„|j Dƒ|_ dd„|j Dƒ|_ d d„|j Dƒ|_ d S) z» HACK. I haven't been able to make sax parser return strings encoded (because of python 2) instead of in unicode. Get rid of it once we throw out python 2 support.cSs g|]\}}t|ƒt|ƒf‘qSr-)r)Ú.0ÚpoÚprr-r-r.ú dsz*Service.encode_strings..cSsg|] }t|ƒ‘qSr-)r)r1Úmr-r-r.r4escSsi|]\}}t|ƒt|ƒ“qSr-)r)r1ÚkÚvr-r-r.ú fsz*Service.encode_strings..cSsg|] }t|ƒ‘qSr-)r)r1r3r-r-r.r4gscSs g|]\}}t|ƒt|ƒf‘qSr-)r)r1r2r3r-r-r.r4hscSsg|] }t|ƒ‘qSr-)r)r1Úsr-r-r.r4jscSsg|] }t|ƒ‘qSr-)r)r1r9r-r-r.r4ksN) rrrrrrrÚitemsrrrr)r+r-r-r.Úencode_strings]s    zService.encode_stringscCs:|dkrJx>|D]6}|ddkr8t|dƒt|dƒqt|dƒqWnì|dkrjxâ|D] }t|ƒqXWnÌ|dkršxÂ|D]}t|dƒt|dƒqxWnœ|dkrØx’|D]*}|dkrÄttjd |ƒ‚t|||ƒq¨Wn^|d k�r6xR|D]J}|jd ƒ�r|jd dƒ}d |k�r|jd dƒ}t |ƒdkrèttj |ƒ‚qèWdS)Nrrrérrrr$r%z'%s' not in {'ipv4'|'ipv6'}rÚ nf_conntrack_rré)r$r%) r r r rrZINVALID_DESTINATIONrÚ startswithÚreplaceÚlenZINVALID_MODULE)r+rÚitemZ all_configr!Úprotorr&r-r-r.Ú _check_configms8              zService._check_config)rr)rr)rr)rr)rr) Ú__name__Ú __module__Ú __qualname__ZIMPORT_EXPORT_STRUCTUREZADDITIONAL_ALNUM_CHARSZPARSER_REQUIRED_ELEMENT_ATTRSZPARSER_OPTIONAL_ELEMENT_ATTRSr*r0r;rDÚ __classcell__r-r-)r,r.r&s4     c@seZdZdd„ZdS)Úservice_ContentHandlercCs0tj|||ƒ|jj||ƒ|dkrTd|krxRdD]J}||k�rît|||ƒ||jjk�r&tjd|ƒn|||jj|<�qîWnî|dk�rª|d}|jdƒ�r~|jddƒ}d|k�r~|jddƒ}||jjk�rœ|jjj |ƒn tjd|ƒn‚|dk�rì|d|jjk�rÚ|jjj |dƒntjd|dƒn@|dk�r,|d|jjk�r|jjj |dƒntjd|dƒdS)Nrr z'Ignoring deprecated attribute name='%s'rrrr!rr"z#Port '%s/%s' already set, ignoring.z$Protocol '%s' already set, ignoring.r#z source-portz)SourcePort '%s/%s' already set, ignoring.rr$r%z2Destination address for '%s' already set, ignoringr&r=rrz"Module '%s' already set, ignoring.r'z#Include '%s' already set, ignoring.r(z"Helper '%s' already set, ignoring.)r$r%)r Ú startElementrBZparser_check_element_attrsrZwarningrr r rÚappendr rrrrr?r@rrr)r+r ÚattrsÚentryÚxr&r-r-r.rJ”sˆ                       z#service_ContentHandler.startElementN)rErFrGrJr-r-r-r.rI“srIc Cstƒ}|jdƒs ttjd|ƒ‚|dd …|_|j|jƒ||_||_|j t j ƒrVdnd|_ |j |_ t|ƒ}tjƒ}|j|ƒd||f}t|dƒ�b}tjdƒ}|j|ƒy|j|ƒWn8tjk rð}zttjd|jƒƒ‚WYdd}~XnXWdQRX~~t�r|jƒ|S) Nz.xmlz'%s' is missing .xml suffixéFTz%s/%sÚrbznot a valid service file: %séüÿÿÿ)rÚendswithrrZ INVALID_NAMEr Z check_nameÚfilenameÚpathr?rÚ ETC_FIREWALLDZbuiltinÚdefaultrIÚsaxZ make_parserZsetContentHandlerÚopenZ InputSourceZ setByteStreamÚparseZSAXParseExceptionZINVALID_SERVICEZ getExceptionrr;) rSrTrÚhandlerÚparserr ÚfÚsourceÚmsgr-r-r.räs8        (cCsr|r|n|j}|jr$d||jf}nd||jf}tjj|ƒr„ytj|d|ƒWn0tk r‚}ztj d||ƒWYdd}~XnXtjj |ƒ}|j t j ƒrÒtjj|ƒ rÒtjjt j ƒsÆtjt j dƒtj|dƒtj|ddd�}t|ƒ}|jƒi}|j�r|jd k�r|j|d <|jd |ƒ|jd ƒ|j�rt|jd k�rt|jd ƒ|jdiƒ|j|jƒ|jdƒ|jd ƒ|j�r¾|jd k�r¾|jd ƒ|jdiƒ|j|jƒ|jdƒ|jd ƒx>|jD]4} |jd ƒ|jd| d| ddœƒ|jd ƒ�qÆWx4|jD]*} |jd ƒ|jdd| iƒ|jd ƒ�qWx>|jD]4} |jd ƒ|jd| d| ddœƒ|jd ƒ�qs    (   mQ