+
    4SsiÞ  ã                   ó`   € ^ RI t ^ RIt^ RIHt ^ RIHtHt  ! R R]4      t]P                  tR# )é    N)ÚPath)ÚExtractErrorÚTarFilec                   óÌ   a a€ ] tR t^t oRt ]! ]P                  4      tRtVtV ;t#   ]	 d5    RRR/T 3R lllt
RRR/T 3R llltR tR tR tR	 tR
 tR t RtTtT ;t# i ; i)r   z“This TarFile implementation is trying to ameliorate CVE-2007-4559,
where tarfile.TarFiles can step outside of the target directory
using '../../'.
Únumeric_ownerFc               óL   <€ V P                  4        \        SV `	  WVVR 7       R# ))Ú	set_attrsr   N)Ú_safetarfile_checkÚsuperÚextract)ÚselfÚmemberÚpathr	   r   Ú	__class__s   &&&&$€Ú4/usr/lib/python3/dist-packages/samba/safe_tarfile.pyr   ÚTarFile.extract$   s'   ø€ à×#Ñ#Ô%Ü‰G‰O˜F°IØ*7ð ö 9ó    c               óJ   <€ V P                  4        \        SV `	  WVR 7       R# ))r   N)r
   r   Ú
extractall)r   r   Úmembersr   r   s   &&&$€r   r   ÚTarFile.extractall*   s&   ø€ Ø×#Ñ#Ô%Ü‰GÑ˜tØ-:ð ö <r   c                óT  € V P                  4        F“  pV P                  VR 7      '       d   \        RVP                   24      hV P	                  VR 7      '       d   \        RVP
                   24      hV P                  VR 7      '       g   K}  \        RVP
                   24      h	  R# ))Útarinfoz*Attempted directory traversal for member: z6Attempted directory traversal via symlink for member: z3Attempted directory traversal via link for member: N)Ú__iter__Ú_is_traversal_attemptr   ÚnameÚ_is_unsafe_symlinkÚlinknameÚ_is_unsafe_link©r   r   s   & r   r
   ÚTarFile._safetarfile_check/   s¸   € ØŸ=™=ž?�Ø×-Ñ-°gÐ-×>Ò>Ü&ð#Ø#*§<¡< .ð2ó3ð 3ð ×*Ñ*°7Ð*×;Ò;Ü&ð#Ø#*×#3Ñ#3Ð"4ð6ó7ð 7ð ×'Ñ'°Ð'×8Ô8Ü&ð#Ø#*×#3Ñ#3Ð"4ð6ó7ð 7ó +r   c                óz   € \         P                  P                  \         P                  P                  V4      4      # ©N)Úosr   ÚrealpathÚabspath)r   r   s   &&r   Ú_resolve_pathÚTarFile._resolve_path>   s$   € Ü—7‘7×#Ñ#¤B§G¡G§O¡O°DÓ$9Ó:Ð:r   c                ó~   € V P                  \        P                  P                  VV4      4      P	                  V4      # r#   )r'   r$   r   ÚjoinÚ
startswith)r   r   Úbasedirs   &&&r   Ú_is_path_in_dirÚTarFile._is_path_in_dirA   s4   € Ø×%Ñ%¤b§g¡g§l¡l°7Ø&*ó',ó -ß-7©Z¸Ó-@ðAr   c                ó´   € VP                   P                  \        P                  4      '       g'   R \        P                  ,           VP                   9   d   R# R# )z..TF)r   r+   r$   Úsepr    s   &&r   r   ÚTarFile._is_traversal_attemptE   s5   € Ø—‘×'Ñ'¬¯©×/Ò/ØœŸ™•- 7§<¡<Ô/ÙÙr   c                óR  € VP                  4       '       d‘   \        \        P                  P	                  \        P                  P                  \        P                  ! 4       VP                  4      4      4      pV P                  V\        P                  ! 4       4      '       g   R # R# ©TF)	Úissymr   r$   r   Únormpathr*   Úgetcwdr   r-   )r   r   Úsymlink_files   && r   r   ÚTarFile._is_unsafe_symlinkK   sj   € Ø�}‰}�ŠÜ#Ü—G‘G×$Ñ$¤R§W¡W§\¡\´"·)²)³+Ø%,×%5Ñ%5ó&7ó 8ó 9�ð ×+Ñ+¨L¼"¿)º)»+×FÒFÙÙr   c                óR  € VP                  4       '       d‘   \        \        P                  P	                  \        P                  P                  \        P                  ! 4       VP                  4      4      4      pV P                  V\        P                  ! 4       4      '       g   R # R# r3   )	Úislnkr   r$   r   r5   r*   r6   r   r-   )r   r   Ú	link_files   && r   r   ÚTarFile._is_unsafe_linkT   sm   € Ø�}‰}�ŠÜ Ü—G‘G×$Ñ$¤R§W¡W§\¡\´"·)²)³+Ø29×2BÑ2Bó&Dó EóF�	ð ×+Ñ+¨I´r·y²y³{×CÒCÙÙr   © )Ú Tr#   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__ÚstaticmethodÚtarfileÚ
tar_filterÚextraction_filterÚAttributeErrorr   r   r
   r'   r-   r   r   r   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r   Ú__classdict__s   @@r   r   r      s|   ù‡ € ñð
=ñ )¨×);Ñ);Ó<×ÐøØô 8ñ	9Ø"'÷	9ð 	9ñ	<À%÷ 	<ð 	<ò
	7ò	;ò	Aò	ò	÷	ó 	ðc8ús   Ž( ¨1A#Á"A#r   )r$   rE   Úpathlibr   r   r   ÚUnsafeTarFileÚopenr=   r   r   Ú<module>rP      s-   ðó$ 
Û Ý ß :ôCˆmô CðL ‡|�|‚r   