Mini Shell
3
�$`;@ � @ s� d Z ddlZddlZddlZddlZddlZddlZddlmZ ddl Z ddl
mZmZm
Z
mZmZmZmZmZmZ dd� Zeddd ��Zdd
d�ZG dd
� d
e�ZG dd� de�Zdd� Zdd� ZdS )z\
This module provides classes and functions used to download and manage
debuginfos.
� N)�Popen) �_�log1�log2� RETURN_OK�RETURN_FAILURE�RETURN_CANCEL_BY_USER�verbose�
ask_yes_no� error_msgc s4 t j� �tjd�� � j�kr �S � ��fdd�}|S )z�
Ensures that the function is called using abrt's gid
Returns:
Either an unchanged function object or a wrapper function object for
the function.
�abrtc s$ t j� j� �| |�}t j�� |S )z�
Wrapper function around the called function.
Sets up gid to match abrt's and after the function finishes
rolls its gid back.
Returns:
Return value of the wrapped function.
)�os�setegid�pw_gid)�args�kwargs�retval)r �current_gid�fn� �!/usr/lib64/python3.6/debuginfo.py�wrapped6 s
z ensure_abrt_gid.<locals>.wrapped)r
�getgid�pwd�getpwnamr )r r r )r r r r �ensure_abrt_gid&