Files
pyGoEdge-UserPanel/.venv/Lib/site-packages/dns/__pycache__/versioned.cpython-312.pyc

82 lines
14 KiB
Plaintext
Raw Normal View History

2025-11-18 03:36:49 +08:00
<EFBFBD>
g<> iA.<00><00><><00>dZddlZddlZddlmZmZmZmZddlZ ddl
Z ddl Z ddl Z ddl Z ddlZ ddlZ ddlZ Gd<04>de j"j$<00>Ze j(j*Ze j(j.Ze j(j2Ze j(j4Ze j(j6Ze j(j8ZGd<06>de j(j:<00>Zy)zDNS Versioned Zones.<2E>N)<04>Callable<6C>Deque<75>Set<65>castc<00><00>eZdZdZy)<03>UseTransactionz-To alter a versioned zone, use a transaction.N)<04>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__doc__<5F><00><00><E:\Project\pygoedge\.venv\Lib\site-packages\dns/versioned.pyrrs<00><00>7rrc <00><><00><00>eZdZUgd<01>ZeZegejjfe d<ejjddfdejjezdzdejjdededegedzfdzf<08>fd <09> Z d(d
edzd edzd efd <0A>Zd)ded efd<10>Zd<11>Zd<12>Zd<13>Zdedzd dfd<15>Zdedegedzfdzd dfd<17>Zd<18>Zd<19>Zd<1A>Zd<1B>Zd<1C>Z d<1D>Z! d)dejjezded ejjf<06>fd <20> Z"dejjezd dfd!<21>Z#ejHjJdfdejjezd"ejHjLezd#ejHjLezded ejNjPf
<EFBFBD>fd$<24> Z)ejHjJdfdejjezd"ejHjLezd#ejHjLezded ejNjPdzf
<EFBFBD>fd%<25> Z*ejHjJfdejjezd"ejHjLezd#ejHjLezd dfd&<26>Z+dejjezdejNjPd dfd'<27>Z,<2C>xZ-S)*<2A>Zone)<07> _versions<6E>_versions_lock<63>
_write_txn<EFBFBD>_write_waiters<72> _write_event<6E>_pruning_policy<63>_readers<72> node_factoryTN<54>origin<69>rdclass<73>
relativize<EFBFBD>pruning_policyc<00>j<00><01>t<00>|<00>|||<03>tj<00>|_t j <00>|_|<04>|j|_ n||_ d|_
d|_ tj<00>|_ t<00>|_|jdt!|d<02><03>|<01>y)a<>Initialize a versioned zone object.
*origin* is the origin of the zone. It may be a ``dns.name.Name``,
a ``str``, or ``None``. If ``None``, then the zone's origin will
be set by the first ``$ORIGIN`` line in a zone file.
*rdclass*, an ``int``, the zone's rdata class; the default is class IN.
*relativize*, a ``bool``, determine's whether domain names are
relativized to the zone's origin. The default is ``True``.
*pruning policy*, a function taking a ``Zone`` and a ``Version`` and returning
a ``bool``, or ``None``. Should the version be pruned? If ``None``,
the default policy, which retains one version is used.
NT)<01> replacement)<11>super<65>__init__<5F> collections<6E>dequer<00> threading<6E>Lock<63> _version_lock<63>_default_pruning_policyrrrr<00>setr<00>_commit_version_unlocked<65>WritableVersion)<06>selfrrrr<00> __class__s <20>rr!z Zone.__init__-s<><00><><00>, <0E><07><18><16><17>*<2A>5<>)4<>):<3A>):<3A>)<<3C><04><0E>&<26>^<5E>^<5E>-<2D><04><1A> <19> !<21>#'<27>#?<3F>#?<3F>D<EFBFBD> <20>#1<>D<EFBFBD> <20>.2<EFBFBD><04><0F>48<34><04><19>6A<36>6G<36>6G<36>6I<36><04><1B>*-<2D>%<25><04> <0A> <0C>%<25>%<25> <10>/<2F>$<24>D<EFBFBD>9<>6<EFBFBD>
r<00>id<69>serial<61>returnc<00>z<00>|<01> |<02> td<01><00>|j5|<01>=d}t|j<00>D]}|j|k(s<01>|}n|<03><01>-t d<02><00>|<02><01>|j rtjj}n|j<00>J<00>|j}d}t|j<00>D]<5D>}|jj|<05>}|s<01>!|j|jtjj <00>}|<07><01>Xt#tj$j&j j |d<00>}|s<01><>|j(|k(s<01><>|}n|<03>t d<04><00>|jd}t+|d|<03>} |j,j/| <09>| cddd<00>S#1swYyxYw)Nz!cannot specify both id and serialzversion not foundrzserial not found<6E><64><EFBFBD><EFBFBD><EFBFBD>F)<18>
ValueErrorr&<00>reversedrr-<00>KeyErrorr<00>dns<6E>name<6D>emptyr<00>nodes<65>get<65> get_rdatasetr<00> rdatatype<70>SOAr<00>rdtypes<65>ANYr.<00> Transactionr<00>add)
r+r-r.<00>version<6F>v<>oname<6D>n<>rds<64>soa<6F>txns
r<00>readerz Zone.readerRsw<00><00> <0E>><3E>f<EFBFBD>0<><1C>@<40>A<> A<> <11> <1F> <1F><11>~<7E><1E><07>!<21>$<24>.<2E>.<2E>1<>A<EFBFBD><18>t<EFBFBD>t<EFBFBD>r<EFBFBD>z<EFBFBD>"#<23><07><1D>2<><1B>?<3F>"<22>#6<>7<>7<><17>#<23><17>?<3F>?<3F><1F>H<EFBFBD>H<EFBFBD>N<EFBFBD>N<EFBFBD>E<EFBFBD><1F>;<3B>;<3B>2<>2<>2<> <20>K<EFBFBD>K<EFBFBD>E<EFBFBD><1E><07>!<21>$<24>.<2E>.<2E>1<>A<EFBFBD><19><07><07> <0B> <0B>E<EFBFBD>*<2A>A<EFBFBD><18><1F>n<EFBFBD>n<EFBFBD>T<EFBFBD>\<5C>\<5C>3<EFBFBD>=<3D>=<3D>;L<>;L<>M<><03><1E>;<3B>$<24>"<22>3<EFBFBD>;<3B>;<3B>?<3F>?<3F>#6<>#6<>#:<3A>#:<3A>C<EFBFBD><01>F<EFBFBD>C<><03><1E>3<EFBFBD>:<3A>:<3A><16>#7<>&'<27>G<EFBFBD>!<21>2<><1B>?<3F>"<22>#5<>6<>6<><1E>.<2E>.<2E><12>,<2C><07><1D>d<EFBFBD>E<EFBFBD>7<EFBFBD>3<>C<EFBFBD> <10>M<EFBFBD>M<EFBFBD> <1D> <1D>c<EFBFBD> "<22><16>A <20> <1F> <1F>s&<00>,F1<03> BF1<03>A4F1<03> F1<03>A
F1<03>1F:Frc<00><><00>d} |j5|j<00>3||jk(r$t||d<01><02>|_d|_ ddd<00>nHt j
<00>}|j j|<02>ddd<00>|j<00><00><>|jj<00>|jS#1swY<00>@xYw)NT)<01>make_immutable)
r&rrr?r$<00>Eventr<00>append<6E>wait<69>_setup_version)r+r<00>events r<00>writerz Zone.writerys<><00><00><14><05><12><15>#<23>#<23>
<18>?<3F>?<3F>*<2A>u<EFBFBD><04>8I<38>8I<38>/I<> '2<><1C>k<EFBFBD>$<24>'<16>D<EFBFBD>O<EFBFBD>)-<2D>D<EFBFBD>%<25><19>!$<24>#<23>("<22><0F><0F>)<29><05><14>#<23>#<23>*<2A>*<2A>5<EFBFBD>1<>+$<24>R <12>J<EFBFBD>J<EFBFBD>L<EFBFBD>U<13>X <0A><0F><0F>&<26>&<26>(<28><13><EFBFBD><EFBFBD><1E>Y$<24>#<23>s<00>7B><03>/B><03>>Cc<00><><00>t|j<00>dkDr:|jj<00>|_|jj <00>yy)Nr)<05>lenr<00>popleftrr()r+s r<00>!_maybe_wakeup_one_waiter_unlockedz&Zone._maybe_wakeup_one_waiter_unlocked<65>sC<00><00> <0E>t<EFBFBD>"<22>"<22> #<23>a<EFBFBD> '<27> $<24> 3<> 3<> ;<3B> ;<3B> =<3D>D<EFBFBD> <1D> <10> <1D> <1D> !<21> !<21> #<23> (rc<00><00>y)NTr )r+<00>zonerAs rr'zZone._default_pruning_policy<63>s<00><00>rc<00><><00>t|j<00>dkDsJ<00>t|j<00>dkDrtd<02>|jD<00><00>}n|jdj}|jdj|krx|j ||jd<00>rX|jj <00>|jdj|kr!|j ||jd<00>r<01>Vyyyy)Nrc3<00>HK<00>|]}|jj<00><01><00>y<00>w<01>N)rAr-)<02>.0rGs r<00> <genexpr>z0Zone._prune_versions_unlocked.<locals>.<genexpr><3E>s<00><00><><00>E<>}<7D><03>S<EFBFBD>[<5B>[<5B>^<5E>^<5E>}<7D>s<00> "r1)rRrr<00>minr-rrS)r+<00>
least_kepts r<00>_prune_versions_unlockedzZone._prune_versions_unlocked<65>s<><00><00><12>4<EFBFBD>><3E>><3E>"<22>Q<EFBFBD>&<26>&<26>&<26> <0F>t<EFBFBD>}<7D>}<7D> <1D><01> !<21><1C>E<>t<EFBFBD>}<7D>}<7D>E<>E<>J<EFBFBD><1D><1E><1E><02>+<2B>.<2E>.<2E>J<EFBFBD><12>n<EFBFBD>n<EFBFBD>Q<EFBFBD><1F>"<22>"<22>Z<EFBFBD>/<2F>D<EFBFBD>4H<34>4H<34> <10>$<24>.<2E>.<2E><11>#<23>5
<EFBFBD> <11>N<EFBFBD>N<EFBFBD> "<22> "<22> $<24><13>n<EFBFBD>n<EFBFBD>Q<EFBFBD><1F>"<22>"<22>Z<EFBFBD>/<2F>D<EFBFBD>4H<34>4H<34> <10>$<24>.<2E>.<2E><11>#<23>5
<EFBFBD>/<2F>5
<EFBFBD>/r<00> max_versionsc<00>b<00><01><00><01><10>dkr td<03><00><01><01>d<04>}n<05>fd<05>}|j|<02>y)zYSet a pruning policy that retains up to the specified number
of versions
N<>zmax versions must be at least 1c<00><00>y)NFr )rV<00>_s r<00>policyz%Zone.set_max_versions.<locals>.policy<63>s<00><00>rc<00>4<00><01>t|j<00><00>kDSrY)rRr)rVrcr_s <20>rrdz%Zone.set_max_versions.<locals>.policy<63>s<00><><00><1A>4<EFBFBD>><3E>><3E>*<2A>\<5C>9<>9r)r2<00>set_pruning_policy)r+r_rds ` r<00>set_max_versionszZone.set_max_versions<6E>s><00><><00> <18> #<23> <0C>q<EFBFBD>(8<><1C>><3E>?<3F> ?<3F> <17> <1F> <1D>
 :<3A> <0A><1F><1F><06>'rrdc<00><><00>|<01> |j}|j5||_|j<00>ddd<01>y#1swYyxYw)a<>Set the pruning policy for the zone.
The *policy* function takes a `Version` and returns `True` if
the version should be pruned, and `False` otherwise. `None`
may also be specified for policy, in which case the default policy
is used.
Pruning checking proceeds from the least version and the first
time the function returns `False`, the checking stops. I.e. the
retained versions are always a consecutive sequence.
N)r'r&rr^)r+rds rrfzZone.set_pruning_policy<63>s=<00><00> <12>><3E><19>1<>1<>F<EFBFBD> <11> <1F> <1F>#)<29>D<EFBFBD> <20> <10> )<29> )<29> +<2B> <20> <1F> <1F>s <00><<03>Ac<00><><00>|j5|jj|<01>|j<00>ddd<00>y#1swYyxYwrY)r&r<00>remover^<00>r+rGs r<00> _end_readzZone._end_read<61>s5<00><00> <11> <1F> <1F> <10>M<EFBFBD>M<EFBFBD> <20> <20><13> %<25> <10> )<29> )<29> +<2B> <20> <1F> <1F>s <00>,A<03>A c<00>T<00>|j|k(sJ<00>d|_|j<00>yrY)rrTrks r<00>_end_write_unlockedzZone._end_write_unlocked<65>s'<00><00><13><EFBFBD><EFBFBD>#<23>%<25>%<25>%<25><1E><04><0F> <0C>.<2E>.<2E>0rc<00>h<00>|j5|j|<01>ddd<00>y#1swYyxYwrY)r&rnrks r<00>
_end_writezZone._end_write<74>s%<00><00> <11> <1F> <1F> <10> $<24> $<24>S<EFBFBD> )<29> <20> <1F> <1F>s<00>(<03>1c<00><><00>|jj|<02>|j<00>|j|_|j<00>||_|<01>|j |<01>yyrY)rrLr^r8rrn<00>r+rGrArs rr)zZone._commit_version_unlocked<65>sT<00><00> <0C><0E><0E><1D><1D>g<EFBFBD>&<26> <0C>%<25>%<25>'<27><1C>]<5D>]<5D><04>
<EFBFBD> <0F>;<3B>;<3B> <1E> <20>D<EFBFBD>K<EFBFBD> <0E>?<3F> <10> $<24> $<24>S<EFBFBD> )<29> rc<00>l<00>|j5|j|||<03>ddd<00>y#1swYyxYwrY)r&r)rrs r<00>_commit_versionzZone._commit_versions)<00><00> <11> <1F> <1F> <10> )<29> )<29>#<23>w<EFBFBD><06> ?<3F> <20> <1F> <1F>s<00>*<03>3c<00>v<00>t|j<00>dkDr|jdjdz}|Sd}|S)Nrr1ra)rRrr-)r+r-s r<00>_get_next_version_idzZone._get_next_version_id s?<00><00> <0E>t<EFBFBD>~<7E>~<7E> <1E><11> "<22><15><1E><1E><02>#<23>&<26>&<26><11>*<2A>B<EFBFBD><12> <09><13>B<EFBFBD><11> rr6<00>createc<00>2<00><01>|rt<00>t<00>|<00> |<01>SrY)rr <00> find_node)r+r6rwr,s <20>rryzZone.find_nodes<00><><00> <12> <20> <20><14>w<EFBFBD> <20><14>&<26>&rc<00><00>t<00>rY<00>r)r+r6s r<00> delete_nodezZone.delete_nodes<00><00><1C>r<00>rdtype<70>coversc<00>t<00><01>|rt<00>t<00>|<00> |||<03>}tjj |<05>SrY)rr <00> find_rdatasetr5<00>rdataset<65>ImmutableRdataset<65>r+r6r}r~rwr<>r,s <20>rr<>zZone.find_rdatasets6<00><><00> <12> <20> <20><18>7<EFBFBD>(<28><14>v<EFBFBD>v<EFBFBD>><3E><08><12>|<7C>|<7C>-<2D>-<2D>h<EFBFBD>7<>7rc<00>z<00><01>|rt<00>t<00>|<00> |||<03>}|<05>tjj |<05>SyrY)rr r:r5r<>r<>r<>s <20>rr:zZone.get_rdataset&s?<00><><00> <12> <20> <20><18>7<EFBFBD>'<27><04>f<EFBFBD>f<EFBFBD>=<3D><08> <13> <1F><16><<3C><<3C>1<>1<>(<28>;<3B> ;<3B>rc<00><00>t<00>rYr{)r+r6r}r~s r<00>delete_rdatasetzZone.delete_rdataset5s
<00><00> <1D>rc<00><00>t<00>rYr{)r+r6rs r<00>replace_rdatasetzZone.replace_rdataset=s
<00><00><1D>r)NN)F).r r
r <00> __slots__<5F>Noderrr5<00>node<64>__annotations__<5F>
rdataclass<EFBFBD>INr6<00>Name<6D>str<74>
RdataClass<EFBFBD>bool<6F>Versionr!<00>intr?rHrPrTr'r^rgrfrlrnrpr)rtrvryr|r;<00>NONE<4E> RdataTyper<65><00>Rdatasetr<74>r:r<>r<><00> __classcell__)r,s@rrr s;<00><><00><06>I<EFBFBD>15<31>L<EFBFBD>(<28>2<EFBFBD>s<EFBFBD>x<EFBFBD>x<EFBFBD>}<7D>}<7D>,<2C>-<2D>4<>
.1<EFBFBD>^<5E>^<5E>-><3E>-><3E><1F>JN<4A> #
<EFBFBD><13><08><08> <0A> <0A><03>#<23>d<EFBFBD>*<2A>#
<EFBFBD><15><1E><1E>*<2A>*<2A>#
<EFBFBD><19> #
<EFBFBD>
!<21>&<26>'<27>!2<>D<EFBFBD>4<EFBFBD>K<EFBFBD>!?<3F>@<40>4<EFBFBD>G<> #
<EFBFBD>L;?<3F>%<17><15><04>*<2A>%<17>-0<>4<EFBFBD>Z<EFBFBD>%<17> <14>%<17>N/<1F>$<24>/<1F>;<3B>/<1F>b$<24> <14>
%<25>$(<28>S<EFBFBD>4<EFBFBD>Z<EFBFBD>(<28>D<EFBFBD>(<28>$,<2C><1E><06><07>0<>$<24><14>+<2B>=<3D>><3E><14>E<>,<2C> <0A>,<2C>(,<2C>
1<>
*<2A>*<2A>@<01><12>9><3E>'<27><17>H<EFBFBD>H<EFBFBD>M<EFBFBD>M<EFBFBD>C<EFBFBD>'<27>'<27>15<31>'<27> <0C><18><18><1D><1D>'<27><1D><03><08><08> <0A> <0A><03> 3<><1D><04><1D>14<31> <0A> <0A>0B<30>0B<30><1C>
8<><11>h<EFBFBD>h<EFBFBD>m<EFBFBD>m<EFBFBD>c<EFBFBD>!<21>
8<><14> <0A> <0A>'<27>'<27>#<23>-<2D>
8<><14> <0A> <0A>'<27>'<27>#<23>-<2D>
8<>
<15>
8<>
<0A><1C><1C> <1E> <1E>
8<> 14<31> <0A> <0A>0B<30>0B<30><1C> <18><11>h<EFBFBD>h<EFBFBD>m<EFBFBD>m<EFBFBD>c<EFBFBD>!<21> <18><14> <0A> <0A>'<27>'<27>#<23>-<2D> <18><14> <0A> <0A>'<27>'<27>#<23>-<2D> <18>
<15> <18>
<0A><1C><1C> <1E> <1E><14> %<25> <18>&14<31> <0A> <0A>0B<30>0B<30> <1D><11>h<EFBFBD>h<EFBFBD>m<EFBFBD>m<EFBFBD>c<EFBFBD>!<21><1D><14> <0A> <0A>'<27>'<27>#<23>-<2D><1D><14> <0A> <0A>'<27>'<27>#<23>-<2D> <1D>
<0E> <1D><1D><17>H<EFBFBD>H<EFBFBD>M<EFBFBD>M<EFBFBD>C<EFBFBD>'<27><1D>69<36>l<EFBFBD>l<EFBFBD>6K<36>6K<36><1D> <0A>rr)r r"r$<00>typingrrrr<00> dns.exceptionr5<00>dns.name<6D>dns.node<64>dns.rdataclass<73> dns.rdataset<65> dns.rdatatype<70>dns.rdtypes.ANY.SOA<4F>dns.zone<6E> exception<6F> DNSExceptionrrV<00> VersionedNoder<65><00>ImmutableVersionedNode<64> ImmutableNoder<65>r*<00>ImmutableVersionr?rr rr<00><module>r<>s<><00><01><1B><12><10>-<2D>-<2D><14><0F><0F><15><13><14><1A><0F>8<>S<EFBFBD>]<5D>]<5D>/<2F>/<2F>8<>
 <0B>x<EFBFBD>x<EFBFBD><1D><1D><04><13><08><08>/<2F>/<2F> <0A>
<0A>(<28>(<28>
<1A>
<1A><07><15>(<28>(<28>*<2A>*<2A><0F><16>8<EFBFBD>8<EFBFBD>,<2C>,<2C><10><11>h<EFBFBD>h<EFBFBD>"<22>"<22> <0B>`<1D>3<EFBFBD>8<EFBFBD>8<EFBFBD>=<3D>=<3D>`r