VULN_CHECK_I913V6 ,fddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl m Z ddlmZmZmZmZmZGddeZGddeZGdd eZy) N) NullContext)QUIC_MAX_DATAGRAMAsyncQuicConnectionAsyncQuicManagerBaseQuicStream UnexpectedEOFcLeZdZfdZdZd dZd dZdZdZdZ dZ xZ S) TrioQuicStreamcXt|||tj|_yN)super__init__trio Condition_wake_up)self connection stream_id __class__s 3/usr/lib/python3.12/site-packages/dns/quic/_trio.pyrzTrioQuicStream.__init__s  Y/( c&K |jj|ry||_|j4d{|jj d{dddd{d|_r7>77#1d{7swY xYww)Nr)_bufferhave _expectingrwait)ramounts rwait_forzTrioQuicStream.wait_fors||  ($DO}} + +mm((*** + +DO  +* + + + +sV5BA6BA<A8A< B)A:* B8A<:B<BB B BcK| td}ntj|}|5|jdd{t j d|j jd\}|j|d{|j j|cdddS7r7*#1swYtjjxYww)Nz!H) rr move_on_afterrstructunpackrgetdns exceptionTimeout)rtimeoutcontextsizes rreceivezTrioQuicStream.receive's ?!$'G((1G  *--" " "mmD$,,*:*:1*=>GT--% % %<<##D)  * * " % * mm###s?&CB4B0A B4B2B4& C0B42B44C9 CcK|j|}|jj|j||d{y7wr ) _encapsulate _connectionwrite _stream_id)rdatagramis_enddatas rsendzTrioQuicStream.send3s8  *$$T__dFCCCs>tyy{K #,6KHa,,++H5556/jj4DJ  $ $ ( ( *? 3 JYY,6DJ  $ $ ( ( *sIAH4 H!,H4 HAH4,(H$H!=H$3H4H0AH4$H2%H49"IH4H4!H$$H-)H42H44#IIcKd} |jj}|yt|tjj j rX|jj|j}|r8|j|j|jd{nt|tjj jr|jjnt|tjj j r"d|_|j$j'not|tjj j(rA|jj|j}|r|jddd{|dz }|dkDrd}t+j,dd{7:727 w)NrTr )r. next_event isinstanceaioquicquiceventsStreamDataReceived_streamsr$rr8r3 end_streamHandshakeCompletedrVrqConnectionTerminatedrgrTr< StreamResetrsleep)rcounteventstreams rroz!TrioQuicConnection._handle_eventsxsd$$//1E}%!4!4!G!GH**5??; ++EJJ8H8HIIIE7<<#6#6#I#IJ((,,.E7<<#6#6#K#KL!  ""$E7<<#6#6#B#BC**5??; ++C666 QJErzjjm##+J7 $s7B G#"G#D G#,G-(G#G!G#G#!G#cK|jj|||d|_|j|jj yyw)NT)r.send_stream_datarYrXcancel)rrr3r2s rr/zTrioQuicConnection.writesI ))&$?!    )    % % ' *sA AcK|jrytj4d{}|j|jdddd{|j j y7J7!#1d{7swY1xYwwr )_closedr open_nursery start_soonrvrWrq)rnurserys rrunzTrioQuicConnection.runso << $$& - -'   t|| , - -  - - - - -sD&B A3B A7 B A5 B 5B 7B =B >B B cK| td}ntj|}|5|jj d{|j rt |jjd}t||}||j|<|cdddS7W#1swYtjjxYwwrC)rrr!rVrrgrr.get_next_available_stream_idr rr%r&r')rr(r)rrs r make_streamzTrioQuicConnection.make_streams ?!$'G((1G  **//1 1 1zz##((EEeLI#D)4F'-DMM) $   1 mm###s/&CB BA B  CB  C% CcvK|js|jj|jd|jdd|_|jj d|_|j|jj|jjd{yy7w)NrrxT) r_managerclosedrfr.r<rYrXrrWrr;s rr<zTrioQuicConnection.closes|| MM A 1 >DL    " " $!%D !!-""))+..%%' ' ' (sB.B90B71B9r rH) rIrJrKrrvror/rrr<rLrMs@rrOrOKs'#"+H$2(  $(rrOcPeZdZdejdffd Z ddZdZdZxZ S)TrioQuicManagerNc@t|||t|||_yr )r rrO_nursery)rrconf verify_mode server_namers rrzTrioQuicManager.__init__s  {,> L rc|j|||||\}}|r%|jj|j|Sr )_connectrrr)rrZr[r\r]want_session_ticketrstarts rrezTrioQuicManager.connectsD#mm T6;0C U  MM $ $Z^^ 4rcK|Swr r>r;s rr?zTrioQuicManager.__aenter__r@rAcKt|jj}|D]}|jd{y7wrC)list _connectionsvaluesr<)rrDrErF connectionsrs rrGzTrioQuicManager.__aexit__sJ4,,3356 % %J""$ $ $ % %srrrs\ ! )/^/dj(,j(Z&r