grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026a àMÒeµ&ã@s¦ddlmZmZddlmZddlZddlZddlZddl Zddl ZGdd„dƒZ Gdd„de ƒZ Gdd „d e ƒZ Gd d „d e ƒZGd d „d e ƒZGdd„de ƒZdS)é)ÚOptionalÚUnion)ÚurlparseNc @s®eZdZdd„Zdd„Zedœdd„Zedœdd „Zedœd d „Z e dœd d „Z de j jeeee eeee j jdœdd„Zde j jeeee ee jjeee j jdœ dd„ZdS)Ú NameservercCsdS©N©©Úselfrrú2/usr/lib/python3.9/site-packages/dns/nameserver.pyÚ__init__ szNameserver.__init__cCst‚dSr©ÚNotImplementedErrorrrrr Ú__str__szNameserver.__str__©ÚreturncCst‚dSrr rrrr ÚkindszNameserver.kindcCst‚dSrr rrrr Úis_always_max_sizeszNameserver.is_always_max_sizecCst‚dSrr rrrr Úanswer_nameserverszNameserver.answer_nameservercCst‚dSrr rrrr Ú answer_portszNameserver.answer_portF©ÚrequestÚtimeoutÚsourceÚ source_portÚmax_sizeÚone_rr_per_rrsetÚignore_trailingrcCst‚dSrr ©r rrrrrrrrrr Úquerys zNameserver.query© rrrrrÚbackendrrrc Ãst‚dSrr © r rrrrrr rrrrr Ú async_query*s zNameserver.async_queryN)FF)FF)Ú__name__Ú __module__Ú __qualname__r rÚstrrÚboolrrÚintrÚdnsÚmessageÚ QueryMessageÚfloatrÚMessagerÚ asyncbackendÚBackendr"rrrr r s> ø÷ ÷örcsdeZdZeedœ‡fdd„ Zedœdd„Zedœdd„Zd d „Z edœd d „Z edœd d„Z ‡Z S)ÚAddressAndPortNameserver©ÚaddressÚportcstƒ ¡||_||_dSr)Úsuperr r2r3©r r2r3©Ú __class__rr r 9s z!AddressAndPortNameserver.__init__rcCst‚dSrr rrrr r>szAddressAndPortNameserver.kindcCsdS)NFrrrrr rAsz+AddressAndPortNameserver.is_always_max_sizecCs | ¡}|›d|j›d|j›�S)Nú:ú@)rr2r3)r Zns_kindrrr rDsz AddressAndPortNameserver.__str__cCs|jSr)r2rrrr rHsz*AddressAndPortNameserver.answer_nameservercCs|jSr)r3rrrr rKsz$AddressAndPortNameserver.answer_port) r#r$r%r&r(r rr'rrrrÚ __classcell__rrr6r r08s r0c sˆeZdZdeedœ‡fdd„ Zdd„Zdejj e e eee e e ejj dœd d „Zdejj e e eee ejje e ejj d œ d d „Z‡ZS)ÚDo53Nameserveré5r1cstƒ ||¡dSr)r4r r5r6rr r PszDo53Nameserver.__init__cCsdS)NZDo53rrrrr rSszDo53Nameserver.kindFrc CsP|r&tjj||j||j||||d�}n&tjj||j||j||d||ddd� }|S)N)rr3rrrrT) rr3rrÚraise_on_truncationrrÚ ignore_errorsÚignore_unexpected)r)rÚtcpr2r3Úudp) r rrrrrrrÚresponserrr rVs2 ø õ zDo53Nameserver.queryrc Ãs`|r.tjj||j||j|||||d� IdH} n.tjj||j||j||d|||ddd� IdH} | S)N)rr3rrr rrT) rr3rrr=r rrr>r?)r)Ú asyncqueryr@r2r3rA) r rrrrrr rrrBrrr r"{s6 ÷ ô zDo53Nameserver.async_query)r<)FF)FF)r#r$r%r&r(r rr)r*r+r,rr'r-rr.r/r"r:rrr6r r;Os6 ø÷ -÷ör;c sÊeZdZdeeeeeefedœ‡fdd„ Zdd„Zed œd d „Z d d „Z ed œdd„Z e d œdd„Z dejjeeee eeeejjdœdd„Zdejjeeee eejjeeejjdœ dd„Z‡ZS)Ú DoHNameserverNTF)ÚurlÚbootstrap_addressÚverifyÚwant_getcs&tƒ ¡||_||_||_||_dSr)r4r rErFrGrH)r rErFrGrHr6rr r ¥s  zDoHNameserver.__init__cCsdS)NZDoHrrrrr r²szDoHNameserver.kindrcCsdS)NTrrrrr rµsz DoHNameserver.is_always_max_sizecCs|jSr©rErrrr r¸szDoHNameserver.__str__cCs|jSrrIrrrr r»szDoHNameserver.answer_nameservercCst|jƒj}|durd}|S)Ni»)rrEr3)r r3rrr r¾s zDoHNameserver.answer_portrc Cs*tjj||j||||j|||j|j d� S©N)rrrrFrrrGZpost)r)rÚhttpsrErFrGrHrrrr rÄs özDoHNameserver.queryrc Ãs0tjj||j||||j|||j|j d� IdHSrJ)r)rCrKrErFrGrHr!rrr r"Ûs özDoHNameserver.async_query)NTF)FFF)FF)r#r$r%r&rrr'r rrrrr(rr)r*r+r,r-rr.r/r"r:rrr6r rD¤sPû û  ø÷ ÷örDc s˜eZdZdeeeeeeefdœ‡fdd„ Zdd„Z de j j e eeeeeee j jd œd d „Zde j j e eeeee jjeee j jd œ dd„Z‡ZS)Ú DoTNameserveréUNT)r2r3ÚhostnamerGcstƒ ||¡||_||_dSr)r4r rNrG)r r2r3rNrGr6rr r õszDoTNameserver.__init__cCsdS)NZDoTrrrrr rszDoTNameserver.kindFrc Cs$tjj||j|j||||j|jd�S©N)r3rrrÚserver_hostnamerG)r)rÚtlsr2r3rNrGrrrr rs øzDoTNameserver.queryrc Ãs*tjj||j|j||||j|jd�IdHSrO)r)rCrQr2r3rNrGr!rrr r"s øzDoTNameserver.async_query)rMNT)FFF)FF)r#r$r%r&r(rrr'r rr)r*r+r,r-rr.r/r"r:rrr6r rLôsHû û  ø÷ ÷örLc s˜eZdZdeeeeefeedœ‡fdd„ Zdd„Z de j j e eeeeeee j jd œd d „Zde j j e eeeee jjeee j jd œ dd„Z‡ZS)Ú DoQNameserverrMTN)r2r3rGrPcstƒ ||¡||_||_dSr)r4r rGrP)r r2r3rGrPr6rr r 0szDoQNameserver.__init__cCsdS)NZDoQrrrrr r;szDoQNameserver.kindFrc Cs$tjj||j|j||||j|jd�S©N)r3rrrrGrP)r)rÚquicr2r3rGrPrrrr r>s øzDoQNameserver.queryrc Ãs*tjj||j|j||||j|jd�IdHSrS)r)rCrTr2r3rGrPr!rrr r"Ss øzDoQNameserver.async_query)rMTN)FFF)FF)r#r$r%r&r(rr'rr rr)r*r+r,r-rr.r/r"r:rrr6r rR/sHû û  ø÷ ÷örR)ÚtypingrrÚ urllib.parserZdns.asyncbackendr)Zdns.asyncqueryZdns.inetZ dns.messageZ dns.queryrr0r;rDrLrRrrrr Ús -UP;