Файловый менеджер - Редактировать - /usr/lib64/python3.6/site-packages/samba/__pycache__/safe_tarfile.cpython-36.pyc
Ðазад
3 ��d� � @ sJ d dl Z d dlZd dlmZ d dlmZmZmZ G dd� de�ZejZdS )� N)�Path)�ExtractError�TarInfo�TarFilec s� e Zd ZdZyeej�ZW nl ek r� ddd�� fdd�Z ddd�� fd d �Z dd� Zd d� Zdd� Z dd� Zdd� Zdd� ZY nX � ZS )r z�This TarFile implementation is trying to ameliorate CVE-2007-4559, where tarfile.TarFiles can step outside of the target directory using '../../'. � TF)� numeric_ownerc s | j � t� j||||d� d S )N)� set_attrsr )�_safetarfile_check�super�extract)�self�member�pathr r )� __class__� �$/usr/lib64/python3.6/safe_tarfile.pyr $ s zTarFile.extractNc s | j � t� j|||d� d S )N)r )r r � extractall)r r �membersr )r r r r * s zTarFile.extractallc C sj xd| j � D ]X}| j|d�r*td|j� ���| j|d�rFtd|j� ���| j|d�r td|j� ���q W d S )N)�tarinfoz*Attempted directory traversal for member: z6Attempted directory traversal via symlink for member: z3Attempted directory traversal via link for member: )�__iter__�_is_traversal_attemptr �name�_is_unsafe_symlink�linkname�_is_unsafe_link)r r r r r r / s zTarFile._safetarfile_checkc C s t jjt jj|��S )N)�osr �realpath�abspath)r r r r r � _resolve_path>