HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/samba/__pycache__/vgp_files_ext.cpython-310.pyc
o

�/aN�@stddlZddlZddlZddlmZmZddlmZddlm	Z	m
Z
ddlmZdd�Z
dd	�ZGd
d�de�ZdS)�N)�
gp_xml_ext�check_safe_path)�NamedTemporaryFile)�copyfile�move)�blake2bcCsd}|�d�D]x}|�d�}|dkr4|�d�dur|dO}|�d�dur(|dO}|�d	�dur3|d
O}q|dkrZ|�d�durC|dO}|�d�durN|d
O}|�d	�durY|dO}q|dkr|�d�duri|dO}|�d�durt|dO}|�d	�dur|dO}q|S)Nr�permissions�type�user�read��write��execute�@�group� ���other���)�findall�get�find)�entry�moder�ptype�r�5/usr/lib/python3/dist-packages/samba/vgp_files_ext.py�	calc_modes8
���r!cCsVd}tddd�D] }dddd�}|��D]}|||>@r#|||7}q|d7}qq|S)	N�-��������r�w�x)rrr)�range�keys)r�stat�i�maskr(rrr �stat_from_mode2s
�r.c@s$eZdZdd�Zdd�Zdd�ZdS)�
vgp_files_extcCsdS)NzVGP/Unix Settings/Filesr)�selfrrr �__str__>szvgp_files_ext.__str__c
Cs^|D]6\}}|j�|�t|�|vr3|t|���D]\}}tj�|�r)t�|�|j�t|�|�q|j�	�q|D]�}|j
�r,|j�|j�d}tj�|j
|�}	|�
|	�}
|
sZq;|
�d�}|�d�}|�d�D]�}
|j�d�}|
�d�j}tj�|tj�t|	����|���}tj�|�s�|j�d|�qitt|d������}|
�d	�j}|
�d
�j}|
�d�j}t|
�}d||||f}|j�t|�|�}||kr�qitj�|�r�|j�d
|�qittj�|�dd��+}t||j�t� |jt!�"|�j#t$�%|�j&�t�'|j|�t(|j|�Wd�n	1�swY|j�)t|�||�|j�	�qiq;dS)N�(MACHINE/VGP/VTLA/Unix/Files/manifest.xml�
policysetting�data�file_properties�	gpo_cache�sourcezSource file "%s" does not exist�rb�targetr
rz%s:%s:%s:%dzTarget file "%s" already existsF)�dir�delete)*�gp_db�set_guid�str�items�os�path�exists�unlinkr;�commit�
file_sys_path�name�join�parserr�lp�
cache_path�text�dirnamer�upper�logger�warnr�openr�	hexdigestr!�retrieverr�chown�pwd�getpwnam�pw_uid�grp�getgrnam�gr_gid�chmodr�store)r0�deleted_gpo_list�changed_gpo_list�guid�settings�	attribute�_�gpo�xmlrA�xml_conf�policyr4r�
local_pathr7�source_file�source_hashr9r
rr�value�old_val�frrr �process_group_policyAsx



�����
����z"vgp_files_ext.process_group_policycCs�i}d}|jrhtj�|j|�}|�|�}|s|S|�d�}|�d�}|�d�D]@}|�d�j}	|�d�j}
|�d�j}|�d�j}t|�}
d	t	|
�|||
|	f}t
|�|��vr^g|t
|�<|t
|��|�q'|S)
Nr2r3r4r5r7r9r
rz%s	%s	%s	%s -> %s)
rEr@rArGrHrrrKr!r.r>r*�append)r0rb�outputrcrArdrer4rr7r9r
rr�prrr �rsopws,


�zvgp_files_ext.rsopN)�__name__�
__module__�__qualname__r1rlrprrrr r/=s6r/)r@rTrW�
samba.gpclassrr�tempfiler�shutilrr�hashlibrr!r.r/rrrr �<module>s