/usr/lib/python3.9/site-packages/dns/__pycache__
NameSizeModeActions
asyncbackend.cpython-39.opt-1.pyc26160644editdlrm
asyncbackend.cpython-39.pyc26160644editdlrm
asyncquery.cpython-39.opt-1.pyc178050644editdlrm
asyncquery.cpython-39.pyc178170644editdlrm
asyncresolver.cpython-39.opt-1.pyc129580644editdlrm
asyncresolver.cpython-39.pyc130020644editdlrm
dnssec.cpython-39.opt-1.pyc321600644editdlrm
dnssec.cpython-39.pyc321880644editdlrm
dnssectypes.cpython-39.opt-1.pyc16160644editdlrm
dnssectypes.cpython-39.pyc16160644editdlrm
e164.cpython-39.opt-1.pyc34520644editdlrm
e164.cpython-39.pyc34520644editdlrm
edns.cpython-39.opt-1.pyc147200644editdlrm
edns.cpython-39.pyc147340644editdlrm
entropy.cpython-39.opt-1.pyc33480644editdlrm
entropy.cpython-39.pyc33480644editdlrm
enum.cpython-39.opt-1.pyc32490644editdlrm
enum.cpython-39.pyc32490644editdlrm
exception.cpython-39.opt-1.pyc55180644editdlrm
exception.cpython-39.pyc57140644editdlrm
flags.cpython-39.opt-1.pyc22080644editdlrm
flags.cpython-39.pyc22080644editdlrm
grange.cpython-39.opt-1.pyc10890644editdlrm
grange.cpython-39.pyc11330644editdlrm
immutable.cpython-39.opt-1.pyc24280644editdlrm
immutable.cpython-39.pyc24280644editdlrm
inet.cpython-39.opt-1.pyc46030644editdlrm
inet.cpython-39.pyc46030644editdlrm
ipv4.cpython-39.opt-1.pyc18440644editdlrm
ipv4.cpython-39.pyc18440644editdlrm
ipv6.cpython-39.opt-1.pyc39380644editdlrm
ipv6.cpython-39.pyc39380644editdlrm
message.cpython-39.opt-1.pyc506310644editdlrm
message.cpython-39.pyc506720644editdlrm
name.cpython-39.opt-1.pyc350740644editdlrm
name.cpython-39.pyc350890644editdlrm
namedict.cpython-39.opt-1.pyc29860644editdlrm
namedict.cpython-39.pyc29860644editdlrm
nameserver.cpython-39.opt-1.pyc89080644editdlrm
nameserver.cpython-39.pyc89080644editdlrm
node.cpython-39.opt-1.pyc116050644editdlrm
node.cpython-39.pyc116050644editdlrm
opcode.cpython-39.opt-1.pyc24750644editdlrm
opcode.cpython-39.pyc24750644editdlrm
query.cpython-39.opt-1.pyc402980644editdlrm
query.cpython-39.pyc403430644editdlrm
rcode.cpython-39.opt-1.pyc32530644editdlrm
rcode.cpython-39.pyc32530644editdlrm
rdata.cpython-39.opt-1.pyc236090644editdlrm
rdata.cpython-39.pyc236090644editdlrm
rdataclass.cpython-39.opt-1.pyc27920644editdlrm
rdataclass.cpython-39.pyc27920644editdlrm
rdataset.cpython-39.opt-1.pyc154370644editdlrm
rdataset.cpython-39.pyc154510644editdlrm
rdatatype.cpython-39.opt-1.pyc66730644editdlrm
rdatatype.cpython-39.pyc66730644editdlrm
renderer.cpython-39.opt-1.pyc98220644editdlrm
renderer.cpython-39.pyc98410644editdlrm
resolver.cpython-39.opt-1.pyc524720644editdlrm
resolver.cpython-39.pyc526250644editdlrm
reversename.cpython-39.opt-1.pyc30550644editdlrm
reversename.cpython-39.pyc30550644editdlrm
rrset.cpython-39.opt-1.pyc78850644editdlrm
rrset.cpython-39.pyc78990644editdlrm
serial.cpython-39.opt-1.pyc29330644editdlrm
serial.cpython-39.pyc29330644editdlrm
set.cpython-39.opt-1.pyc87990644editdlrm
set.cpython-39.pyc87990644editdlrm
tokenizer.cpython-39.opt-1.pyc172420644editdlrm
tokenizer.cpython-39.pyc172560644editdlrm
transaction.cpython-39.opt-1.pyc202610644editdlrm
transaction.cpython-39.pyc202610644editdlrm
tsig.cpython-39.opt-1.pyc103810644editdlrm
tsig.cpython-39.pyc103810644editdlrm
tsigkeyring.cpython-39.opt-1.pyc18350644editdlrm
tsigkeyring.cpython-39.pyc18350644editdlrm
ttl.cpython-39.opt-1.pyc16800644editdlrm
ttl.cpython-39.pyc16800644editdlrm
update.cpython-39.opt-1.pyc88860644editdlrm
update.cpython-39.pyc88860644editdlrm
version.cpython-39.opt-1.pyc5630644editdlrm
version.cpython-39.pyc5630644editdlrm
versioned.cpython-39.opt-1.pyc87230644editdlrm
versioned.cpython-39.pyc87750644editdlrm
win32util.cpython-39.opt-1.pyc56530644editdlrm
win32util.cpython-39.pyc56530644editdlrm
wire.cpython-39.opt-1.pyc33270644editdlrm
wire.cpython-39.pyc33550644editdlrm
xfr.cpython-39.opt-1.pyc77710644editdlrm
xfr.cpython-39.pyc77890644editdlrm
zone.cpython-39.opt-1.pyc452680644editdlrm
zone.cpython-39.pyc454120644editdlrm
zonefile.cpython-39.opt-1.pyc176630644editdlrm
zonefile.cpython-39.pyc176870644editdlrm
zonetypes.cpython-39.opt-1.pyc10230644editdlrm
zonetypes.cpython-39.pyc10230644editdlrm
_asyncbackend.cpython-39.opt-1.pyc42080644editdlrm
_asyncbackend.cpython-39.pyc42080644editdlrm
_asyncio_backend.cpython-39.opt-1.pyc89840644editdlrm
_asyncio_backend.cpython-39.pyc90020644editdlrm
_ddr.cpython-39.opt-1.pyc40710644editdlrm
_ddr.cpython-39.pyc40710644editdlrm
_features.cpython-39.opt-1.pyc23670644editdlrm
_features.cpython-39.pyc23670644editdlrm
_immutable_ctx.cpython-39.opt-1.pyc21590644editdlrm
_immutable_ctx.cpython-39.pyc21590644editdlrm
__init__.cpython-39.opt-1.pyc6670644editdlrm
__init__.cpython-39.pyc6670644editdlrm
Edit: /usr/lib/python3.9/site-packages/dns/__pycache__/asyncquery.cpython-39.pyc (17817B)
a àMÒeâhã@sfdZddlZddlZddlZddlZddlZddlmZmZm Z m Z m Z ddl Z ddlZ ddlZ ddlZ ddlZ ddlZ ddlZ ddlZ ddlZ ddlZ ddlmZddlmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#e"ràddl$Z$e j%j&Z'dd„Z(d6dd „Z)d7e j*j+e e j,j-e.fee e/e e0e/fd œd d „Z1d8e j*j+e ee e/e2e2e ee j3j4e j5j6fe e.e2e2e2e e j,j-edœ dd„Z7d9e j,j-e8e e/e0e e8e0e2e2e2e2e e j*j+e e j*j9e2e j,j-dœdd„Z:d:e j,j-e8e e/e0e e8e0e2e2e2e e j*j+e e j*j;e e j*j9e2e e j,j-e2fdœdd„Zde j,j-e8e e/e0e e8e0e2e2e e j*j;e e j*j9e e#jAe e8e e2e8fe j,j-d&œd'd(„ZBdd)ddd d dd*d%d%ddejCf e j,j-e8e e/e0e e8e0e2e2e d+e8e2e e2e8fe e8e d,e e0e j,j-d-œd.d/„ZDddddddejEdfe8e jFjGe e j,j-e0e e/e e/e e8e0ee e j*j9dd0œ d1d2„ZHd?e j,j-e8e e/e0e e8e0e2e2e e jIjJe e2e8fe e j*j9e e8e j,j-d3œ d4d5„ZIdS)@zTalk to a DNS server.éN)ÚAnyÚDictÚOptionalÚTupleÚUnion)Ú NullContext) Ú BadResponseÚNoDOHÚNoDOQÚUDPModeÚ_compute_timesÚ_make_dot_ssl_contextÚ_matches_destinationÚ _remainingÚhave_dohÚsslcCsN|s|rF|dur>|tjkr d}n|tjkr0d}ntd|›�ƒ‚||fSdSdS)Nz0.0.0.0z::zunknown address family )ÚsocketÚAF_INETÚAF_INET6ÚNotImplementedError)ÚafZaddressÚport©rú2/usr/lib/python3.9/site-packages/dns/asyncquery.pyÚ _source_tuple:s  rcCs*|dur"|st ¡}t||dƒSdSdS)Nr)ÚtimeÚmax)Ú expirationZnowrrrÚ_timeoutJs r)ÚsockÚwhatÚ destinationrÚreturncÃs@t|tjjƒr| ¡}t ¡}| ||t||ƒ¡IdH}||fS)a†Send a DNS message to the specified UDP socket. *sock*, a ``dns.asyncbackend.DatagramSocket``. *what*, a ``bytes`` or ``dns.message.Message``, the message to send. *destination*, a destination tuple appropriate for the address family of the socket, specifying where to send the query. *expiration*, a ``float`` or ``None``, the absolute time at which a timeout exception should be raised. If ``None``, no timeout will occur. The expiration value is meaningless for the asyncio backend, as asyncio's transport sendto() never blocks. Returns an ``(int, float)`` tuple of bytes sent and the sent time. N)Ú isinstanceÚdnsÚmessageÚMessageÚto_wirerÚsendtor)rr r!rÚ sent_timeÚnrrrÚsend_udpSs r+Fó) rr!rÚignore_unexpectedÚone_rr_per_rrsetÚkeyringÚ request_macÚignore_trailingÚraise_on_truncationÚ ignore_errorsÚqueryr"c  Ãsæd} | dt|ƒ¡IdH\} } t|j| ||ƒs0qt ¡} ztjj| |||||d�}Wnntjjy¦}z6| r�| dur�|   | ¡¡s�WYd}~qn‚WYd}~n&d}~0t yÂ| r¼Yqn‚Yn0| rÜ| durÜ|   |¡sÜq|| | fS)ajRead a DNS message from a UDP socket. *sock*, a ``dns.asyncbackend.DatagramSocket``. See :py:func:`dns.query.receive_udp()` for the documentation of the other parameters, and exceptions. Returns a ``(dns.message.Message, float, tuple)`` tuple of the received message, the received time, and the address where the message arrived from. r,éÿÿN)r/r0r.r1r2) ÚrecvfromrrÚfamilyrr$r%Ú from_wireÚ TruncatedÚ is_responseÚ Exception)rr!rr-r.r/r0r1r2r3r4ÚwireÚ from_addressÚ received_timeÚrÚerrrÚ receive_udpqs@ ÿú ÿþ ý rAé5)ÚqÚwhereÚtimeoutrÚsourceÚ source_portr-r.r1r2rÚbackendr3r"c  Ãs$| ¡} t|ƒ\}}tj |¡}t||f|ƒ}| rÚ_rrrÚudp®s@      õ rW)rCrDrErrFrGr-r.r1Úudp_sockÚtcp_sockrHr3r"c Ãstz0t|||||||||d| | | ƒ IdH} | dfWStjjynt||||||||| | ƒ IdH} | dfYS0dS)aÃReturn the response to the query, trying UDP first and falling back to TCP if UDP results in a truncated response. *udp_sock*, a ``dns.asyncbackend.DatagramSocket``, or ``None``, the socket to use for the UDP query. If ``None``, the default, a socket is created. Note that if a socket is provided the *source*, *source_port*, and *backend* are ignored for the UDP query. *tcp_sock*, a ``dns.asyncbackend.StreamSocket``, or ``None``, the socket to use for the TCP query. If ``None``, the default, a socket is created. Note that if a socket is provided *where*, *source*, *source_port*, and *backend* are ignored for the TCP query. *backend*, a ``dns.asyncbackend.Backend``, or ``None``. If ``None``, the default, then dnspython will use the default backend. See :py:func:`dns.query.udp_with_fallback()` for the documentation of the other parameters, exceptions, and return type of this method. TNF)rWr$r%r9Útcp)rCrDrErrFrGr-r.r1rXrYrHr3ÚresponserrrÚudp_with_fallbackðs>#ó  ö r\)rr rr"cÃs\t|tjjƒr|jdd�}nt|ƒ dd¡|}t ¡}| |t ||ƒ¡IdHt|ƒ|fS)zîSend a DNS message to the specified TCP socket. *sock*, a ``dns.asyncbackend.StreamSocket``. See :py:func:`dns.query.send_tcp()` for the documentation of the other parameters, exceptions, and return type of this method. T)Zprepend_lengthéZbigN) r#r$r%r&r'ÚlenÚto_bytesrÚsendallr)rr rÚtcpmsgr)rrrÚsend_tcp4s rbcÃsHd}|dkrD| |t|ƒ¡IdH}|dkr.t‚|t|ƒ}||}q|S)z|Read the specified number of bytes from stream. Keep trying until we either get the desired amount, or we hit EOF. r,rN)ZrecvrÚEOFErrorr^)rÚcountrrUr*rrrÚ _read_exactlyMs  re)rrr.r/r0r1r"c ÃsXt|d|ƒIdH}t d|¡\}t|||ƒIdH}t ¡} tjj|||||d�} | | fS)zçRead a DNS message from a TCP socket. *sock*, a ``dns.asyncbackend.StreamSocket``. See :py:func:`dns.query.receive_tcp()` for the documentation of the other parameters, exceptions, and return type of this method. r]Nú!H©r/r0r.r1)reÚstructÚunpackrr$r%r8) rrr.r/r0r1ÚldataÚlr<r>r?rrrÚ receive_tcp[sûrl) rCrDrErrFrGr.r1rrHr"c  Ãs| ¡} t|ƒ\} } |r0| ¡IdHt|ƒ} nJtj |¡}t|||ƒ}||f}| s^tj  ¡} |   |t j d|||¡IdH} | 4IdHšd}t || | ƒIdHt|| ||j|j|ƒIdH\}}|| |_| |¡sÒt‚|WdƒIdHS1IdH�sø0YdS)aOReturn the response obtained after sending a query via TCP. *sock*, a ``dns.asyncbacket.StreamSocket``, or ``None``, the socket to use for the query. If ``None``, the default, a socket is created. Note that if a socket is provided *where*, *port*, *source*, *source_port*, and *backend* are ignored. *backend*, a ``dns.asyncbackend.Backend``, or ``None``. If ``None``, the default, then dnspython will use the default backend. See :py:func:`dns.query.tcp()` for the documentation of the other parameters, exceptions, and return type of this method. Nr)r'r Z getpeernamerr$rIrJrrLrMrNrÚ SOCK_STREAMrbrlr/rPrr:r)rCrDrErrFrGr.r1rrHr<rQrrRrrSrTrUr?r>rrrrZys,     ÿ ÿ  rZéUT)rCrDrErrFrGr.r1rrHÚ ssl_contextÚserver_hostnameÚverifyr"c  Ãsôt|ƒ\} }|rt|ƒ}n`| dur,t| | ƒ} tj |¡}t|||ƒ}||f}| sZtj ¡} |   |t j d|||| | ¡IdH}|4IdHšT}t |ƒ}t |||||||||| ƒ IdH}t ¡}|| |_|WdƒIdHS1IdHsæ0YdS)a¦Return the response obtained after sending a query via TLS. *sock*, an ``asyncbackend.StreamSocket``, or ``None``, the socket to use for the query. If ``None``, the default, a socket is created. Note that if a socket is provided, it must be a connected SSL stream socket, and *where*, *port*, *source*, *source_port*, *backend*, *ssl_context*, and *server_hostname* are ignored. *backend*, a ``dns.asyncbackend.Backend``, or ``None``. If ``None``, the default, then dnspython will use the default backend. See :py:func:`dns.query.tls()` for the documentation of the other parameters, exceptions, and return type of this method. Nr)r rr r$rIrJrrLrMrNrrmrrZr)rCrDrErrFrGr.r1rrHrorprqrQrrRrrSrTrUr[Zend_timerrrÚtls±sJ      ø ö  rri»z /dns-queryzhttpx.AsyncClientzdns.asyncresolver.Resolver)rCrDrErrFrGr.r1ÚclientÚpathÚpostrqÚbootstrap_addressÚresolverr7r"c Ãs&tst‚|r t|tjƒs tdƒ‚| ¡}ztj  |¡}WntyNd}Yn0d}ddi}|dur¤tj  |¡r¤|t j krŠd  ||| ¡}q¨|t jkr¨d  ||| ¡}n|}tj ¡}|durÄd}d}n|}|}| ¡|dd| || | |d �}|röt|ƒ}ntjdd| |d �}|4IdHš�}| �rT| dtt|ƒƒd œ¡| |j|||d �|¡IdH}n:t |¡ d ¡}| ¡}| |j||d|id�|¡IdH}WdƒIdH�q¼1IdH�s²0Y|jdk�sÔ|jdk�rêtd  ||j|j¡ƒ‚tjj |j|j!|j"||d�}|j# $¡|_%| &|¡�s"t'‚|S)aÃReturn the response obtained after sending a query via DNS-over-HTTPS. *client*, a ``httpx.AsyncClient``. If provided, the client to use for the query. Unlike the other dnspython async functions, a backend cannot be provided in this function because httpx always auto-detects the async backend. See :py:func:`dns.query.https()` for the documentation of the other parameters, exceptions, and return type of this method. z.session parameter must be an httpx.AsyncClientNZacceptzapplication/dns-messagezhttps://{}:{}{}zhttps://[{}]:{}{}rT)Ú local_addressÚhttp1Úhttp2rqÚ local_portrvrwr7)ryrzrqÚ transport)z content-typezcontent-length)ÚheadersÚcontentó=r$)r}ÚparamséÈi+z4{} responded with status code {} Response body: {!r}rg)(rr r#ÚhttpxZ AsyncClientÚ ValueErrorr'r$rIrJZ is_addressrrÚformatrrLrMZget_transport_classrÚupdateÚstrr^Úwait_forruÚbase64Zurlsafe_b64encodeÚrstripÚdecodeÚgetZ status_coder~r%r8r/r0ÚelapsedZ total_secondsrr:r)rCrDrErrFrGr.r1rsrtrurqrvrwr7r<rr|r}ÚurlrHrxr{rRZ the_clientr[Ztwirer?rrrÚhttps÷sŒ     ø  ÿ þÿÿ ÿ8 þÿû  rŽ) rDÚ txn_managerr4rrEÚlifetimerFrGÚudp_moderHr"c # Ãsþ|durtj |¡\}} n tj |¡} |jdj} | tjjk} | ¡} |  ¡}tj   |¡}t |||ƒ}||f}t |ƒ\}}d}|�rúd}| r¢|tjkr¢tj}d}n tj}d}| sºtj ¡} |  ||d||t|ƒ¡IdH}|4IdH�šú|�r| ||t|ƒ¡IdHn&t dt|ƒ¡|}| ||¡IdHtj || | |¡��x}d}d}|�sŠt |ƒ\}}|du�s||du�r€||k�r€|}|�rÌt||f|ƒ}t|ƒ}| d|¡IdH\}}t|||dƒ�r”�qþ�q”n2t |d|ƒIdH} t !d| ¡\}!t ||!|ƒIdH}| tjjk} tj"j#||j$|j%d| || | d�}"z| &|"¡}WnDtjj'�y~|�sXJ‚|tj(k�rf‚d}d}tj}Y�qLYn0|"j)}�qL|�s¬|j$�r¬|"j*�s¬tj+ ,d ¡‚Wdƒn1�sÂ0YWdƒIdHq~1IdH�sî0Yq~dS) amConduct an inbound transfer and apply it via a transaction from the txn_manager. *backend*, a ``dns.asyncbackend.Backend``, or ``None``. If ``None``, the default, then dnspython will use the default backend. See :py:func:`dns.query.inbound_xfr()` for the documentation of the other parameters, exceptions, and return type of this method. NrTFrfr5r])r/r0ÚxfrÚoriginÚtsig_ctxZmultir.z missing TSIG)-r$r’Z make_queryZextract_serial_from_queryZquestionÚrdtypeZ rdatatypeZIXFRZfrom_wire_originr'rIrJrr r ÚNEVERrrOrmrLrMrNrr(rhÚpackr^r`ZInboundrKr6rrerir%r8r/rPZprocess_messageZUseTCPZONLYr”Zhad_tsigÚ exceptionZ FormError)#rDr�r4rrEr�rFrGr‘rHÚserialr•Zis_ixfrr“r<rrSrTrVrZretryZ sock_typeZis_udprUraZinboundZdoner”Z mexpirationr!Zrwirer=rjrkr?rrrÚ inbound_xfrls–       ÿ   ÿÿÿ  ø     rš) rCrDrErrFrGr.r1Ú connectionrqrHrpr"c  Ãs¤tjjstdƒ‚d|_| ¡} |r8tjj} tjj}|}ntj | ¡\} }| ƒ4IdH�š}||| | d�4IdHš°}|s†| ||||¡}t |ƒ\}}|  |¡IdH}|4IdHš>|  | d¡IdH|  t |ƒ¡IdH} WdƒIdH�q1IdHsø0Yt ¡}WdƒIdH�q81IdH�s.0Ytjj| |j|j||d�}WdƒIdH�q€1IdH�sv0Yt||dƒ|_| |¡�s t‚|S)aiReturn the response obtained after sending an asynchronous query via DNS-over-QUIC. *backend*, a ``dns.asyncbackend.Backend``, or ``None``. If ``None``, the default, then dnspython will use the default backend. See :py:func:`dns.query.quic()` for the documentation of the other parameters, exceptions, and return type of this method. zDNS-over-QUIC is not available.rN)Z verify_modeZ server_nameTrgg)r$ÚquicZ have_quicr Úidr'Z null_factoryZfactories_for_backendZconnectr Z make_streamÚsendZreceiverrr%r8r/r0rr:r)rCrDrErrFrGr.r1r›rqrHrpr<ZcfactoryZmfactoryZthe_connectionÚcontextZ the_managerÚstartrÚstreamZfinishr?rrrrœÑsBÿ @6û4 rœ)N)N) NNFFNr,FFFN) NrBNrFFFFNNF) NrBNrFFFNNNF)N)NFNr,F)NrBNrFFNN) NrnNrFFNNNNT) NrnNrFFNTNN)KÚ__doc__rˆÚ contextlibrrhrÚtypingrrrrrZdns.asyncbackendr$Z dns.exceptionZdns.inetZ dns.messageZdns.nameZdns.quicZ dns.rcodeZdns.rdataclassZ dns.rdatatypeZdns.transactionZdns._asyncbackendrZ dns.queryrr r r r r rrrrr‚rIZlow_level_address_tuplerKrrrLZDatagramSocketr%r&ÚbytesÚfloatÚintr+ÚboolÚnameÚNameZtsigZKeyrAr†ZBackendrWZ StreamSocketr\rbrerlrZZ SSLContextrrZ AF_UNSPECrŽr–Z transactionZTransactionManagerršrœZAsyncQuicConnectionrrrrÚs 0  ü û õ ô @ó  ò Eó   ò Gý ü úù !ö  õ ;ó   ò Iñ ð xö  õ hô   ó