__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
�

2R�gpJ��^�SrSSKrSSKrSSKrSSKrSSjr"SS\5r"SS\5rg)	a
ipachangeconf - configuration file manipulation classes and functions
partially based on authconfig code
Copyright (c) 1999-2007 Red Hat, Inc.
Author: Simo Sorce <[email protected]>

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
�Nc��Sn[RnU(aU[R-n[R"XU5n[R
"U[R5 [R"US5$![aLnURupgUS:wa([R"U5 O![a Of=f[Xg5eSnAff=f)N���zr+)�os�O_RDWR�O_CREAT�open�fcntl�lockf�LOCK_EX�OSError�args�close�IOError�fdopen)�filename�perms�create�fd�flags�err�errno�strerrs        �:/usr/lib/python3/dist-packages/SSSDConfig/ipachangeconf.py�
openLockedrs���	�B��I�I�E�
���
�
�"��
%�
�W�W�X�e�
,��
���B��
�
�&��9�9�R������%����
��
��8�
��������
��
���e�$�$��%�s;�<B�
C�C� B7�6C�7
C�C�C�C�Cc��\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSr\S5rSSjrSrSSjrSSjrSrSrSrSrSrSrSrg)�
IPAChangeConf�0c���XlSUlSUlURSUlSUlURSUlSUlURSUlSUlSUl	SUl
g)	N)�rr)z = �=r)�#)�
)�[�])�{�}z.ipabkp)�progname�indent�assign�dassign�comment�dcomment�eol�deol�
sectnamdel�
subsectdel�
backup_suffix��self�names  r�__init__�IPAChangeConf.__init__2sf���
�"���"����{�{�1�~���������Q���
�����H�H�Q�K��	�$���$���&���c��Xlg�N)r'r2s  r�setProgName�IPAChangeConf.setProgName?s���
r7c��[U5[LaXlg[U5[La	U4Ulg[	S5e)Nz Indent must be a list of strings)�type�tupler(�str�
ValueError)r3r(s  r�	setIndent�IPAChangeConf.setIndentBs4����<�5� � �K�
�&�\�S�
 �!�*�D�K��?�@�@r7c�n�[U5[LaXlOU4UlURSUlg�Nr)r=r>r)r*)r3r)s  r�setOptionAssignment�!IPAChangeConf.setOptionAssignmentJs+����<�5� � �K�!�*�D�K��{�{�1�~��r7c�n�[U5[LaXlOU4UlURSUlgrD)r=r>r+r,)r3r+s  r�setCommentPrefix�IPAChangeConf.setCommentPrefixQs+����=�E�!�"�L�#�;�D�L����Q���
r7c�n�[U5[LaXlOU4UlURSUlgrD)r=r>r-r.)r3r-s  r�
setEndLine�IPAChangeConf.setEndLineXs+����9����H��w�D�H��H�H�Q�K��	r7c��Xlgr9)r/�r3�delimss  r�setSectionNameDelimiters�&IPAChangeConf.setSectionNameDelimiters_��� �r7c��Xlgr9)r0rNs  r�setSubSectionDelimiters�%IPAChangeConf.setSubSectionDelimitersbrRr7c��URHEnUR5RU5(dM)UR5[U5Ss $ g)NF)r+�lstrip�
startswith�len)r3�line�vs   r�matchComment�IPAChangeConf.matchCommentesC�����A��{�{�}�'�'��*�*��{�{�}�S��V�W�-�-��r7c�.�UR5S:Xagg)NrTF)�strip�r3rZs  r�
matchEmpty�IPAChangeConf.matchEmptyks���:�:�<�2���r7c��SRUR5R55n[UR5S:wagURURS5(dgUR
URS5(dgU[URS5[URS5*$)Nr�Fr�)�joinr_�splitrYr/rX�endswith)r3rZ�cls   r�matchSection�IPAChangeConf.matchSectionps���
�W�W�T�Z�Z�\�'�'�)�
*���t����1�$���}�}�T�_�_�Q�/�0�0���{�{�4�?�?�1�-�.�.���#�d�o�o�a�(�)�3�t���q�/A�+B�*B�C�Cr7c��URU5(agURURS5n[U5S:agUSR	5UR
S:XaUSR	5$g)NFrerdr)r\rgr*rYr_r0)r3rZ�partss   r�matchSubSection�IPAChangeConf.matchSubSectionzsh�����T�"�"���
�
�4�<�<��+���u�:��>����8�>�>��t���q�1�1���8�>�>�#�#�r7c�v�URU5(agUR5URS:Xagg)NFreT)r\r_r0r`s  r�matchSubSectionEnd� IPAChangeConf.matchSubSectionEnd�s3�����T�"�"���:�:�<�4�?�?�1�-�-��r7c��[UR5S:waU$URSU-URS-UR-$)Nrdrre)rYr/r.)r3�sections  r�getSectionLine�IPAChangeConf.getSectionLine�sC���t����1�$��N����q�!�G�+�d�o�o�a�.@�@�4�9�9�L�Lr7c�(�US:�a[U5nU$)N�)�hex)�values r�_get_debug_level_val�"IPAChangeConf._get_debug_level_val�s���2�:���J�E��r7c��SnU[UR5:�a[UR5S-
nUGH�nUSS:XaPX0RSUS-URS-UR--
nX0R	USUS-5-
nM]USS:Xa�X0RUUS-UR
-URS-UR--
nX0R	USUS-5-
nX0RUURS-UR--
nM�USS	:Xa:X0RUUS-UR
-US-UR--
nGM4USS
:Xa$X0RUS-UR--
nGMaUSS:XaX0R-
nGM{[SUS-S
-5e U$)Nrrer=rtrr4rz�
subsection�optionr+�empty�Unknown type: [r$)	rYr(r/r.�dumpr*r0r,�SyntaxError)r3�options�level�output�os     rr��IPAChangeConf.dump�s������C����$�$�����$�q�(�E��A���y�I�%��/�/�!�,�q��y�8�4�?�?�1�;M�M�PT�PY�PY�Y�Y���)�)�A�g�J���	�:�:�����y�L�(��+�+�e�,�q��y�8�4�<�<�G�$�/�/�Z[�J\�\�_c�_h�_h�h�h���)�)�A�g�J���	�:�:���+�+�e�,�t���q�/A�A�D�I�I�M�M�����y�H�$��+�+�e�,�q��y�8�4�<�<�G�!�G�*�T�W[�W`�W`�`�`�����y�I�%��-�-�!�G�*�4�t�y�y�@�@�����y�G�#��)�)�#����/�!�F�)�;�c�A�B�B�'�*�
r7c�L�URU5(aSSS.$URU5nU(aSSUR5S.$URURS5n[U5S:a[
S5eUSR5S	USR5S.$)
Nr��r4r=r+�r4r=rzrerd�!Syntax Error: Unknown line formatrr)rar\�rstriprgr*rYr�r_)r3rZrzrms    r�	parseLine�IPAChangeConf.parseLine�s����?�?�4� � �#�W�5�5��!�!�$�'���%�y�5�<�<�>�R�R��
�
�4�<�<��+���u�:��>��A�B�B��a����(�(�U�1�X�_�_�EV�W�Wr7c��SnUH>nUSU:XaUSU:XaXV4s $U(aUSS:Xd	USS:XaUS4s $US-
nM@ US4$)Nrr=r4rtr~re�)r3�optsr=r4�exclude_sections�numr�s       r�findOpts�IPAChangeConf.findOpts�sg�����A���y�D� �Q�v�Y�$�%6��x���Q�v�Y�)�%;�q��y�L�?X��T�{�"��1�H�C���T�{�r7c�,�/nU[UR5:�a[UR5S-
nUGH�nUSS:Xa{URUSUS-5nURURS-US-URS-nURSSUS.5 UHnURU5 M M�USS	:Xa�URUSUS-5nURUUS-UR-URS-nURSSUS.5 UHnURU5 M URUURS-nURSSUS.5 GMAUSS
:Xa@URUUS-UR-US-nURSSUS.5 GM�USS:XaURU5 GM�USS:XaURSSSS.5 GM�[S
US-S-5e U$)Nrer=rtrzrr4r+r�r~rr�rr�r$)	rYr(�commentOptsr,r/�appendr*r0r�)r3�inoptsr�r�r��no�val�ns        rr��IPAChangeConf.commentOpts�s�����C����$�$�����$�q�(�E��A���y�I�%��%�%�a��j�%�!�)�<���m�m�d�o�o�a�&8�8�1�V�9�D�t���WX�GY�Y�����Y�	�C�P�Q��A��K�K��N�����y�L�(��%�%�a��j�%�!�)�<���k�k�%�(�1�V�9�4�t�|�|�C�d�o�o�VW�FX�X�����Y�	�C�P�Q��A��K�K��N���k�k�%�(�4�?�?�1�+=�=�����Y�	�C�P�Q����y�H�$��k�k�%�(�1�V�9�4�t�|�|�C�a��j�P�����Y�	�C�P�Q����y�I�%����A�����y�G�#����Y�	�B�O�P���/�!�F�)�;�c�A�B�B�7�:�r7c��/nUGHnUSS:Xd	USS:Xa�URX$SUS5upVU(dURU5 MJUSS:Xa5URUSUS5nURUSUSUS.5 M�USS	:Xa0URUS5nUHn	URU	5 M M�USS
:XaM�[	SUS-S-5eUSS	:Xd	USS
:XaURU5 GMUSS:Xa�URUSUSS5upVU(dURU5 GMCUSS	:Xd	USS
:XajUSb USUS:waURU5 GM{USS	:Xa8URS	S	UR
US-UR-US-S.5 GM�USS:XaURU5 GM�[	SUS-S-5e[	SUS-S-5e U$)Nr=rtr~r4�action�setrzr�r+�removezUnknown action: [r$r�rTr�)r�r��mergeOldr�r�r,r*)
r3�oldopts�newoptsr�r�r�r��mo�co�cs
          rr��IPAChangeConf.mergeOld�s3�����A���y�I�%��6��l�)B� �M�M�'�V�9�a��i�H�	����K�K��N���h�<�5�(����q��z�2�g�;�?�B��K�K��6��A�f�I�PR� S�T���h�<�9�,��)�)�!�G�*�5�B������A�� ���h�<�8�+��!�"5��8��"D�s�"J�K�K���y�I�%��6��g�)=����A�����y�H�$� �M�M�'�8�Q�v�Y��M�	����K�K��N���h�<�9�,��8���0H��'�{�.�1�W�:��G��3L����A�� ��(�|�y�0����Y�	�.2�m�m�a��i�.G�$�,�,�.V�YZ�[b�Yc�.c�%e�f���h�<�5�(��K�K��O��!�"5��(��"C�c�"I�J�J��/�!�F�)�;�c�A�B�B�S�V�r7c�"�SnUGHnUSS:Xd	USS:XagURXSUS5upVU(dUSS:XaURU5 MSUSS:XaURUSUS5 MvUS	-nM}USS
:XaEURXSUSS5upVU(dUSS:XaURU5 M�US	-nM�USS:Xd	USS
:XaURX45 US	-
nM�[	SUS-S-5e g)Nrr=rtr~r4r�r�rzrerTr+r�r�r$)r�r��mergeNew�insertr�)r3r�r��cliner�r�r�s       rr��IPAChangeConf.mergeNew)s*�����B��&�z�Y�&�"�V�*��*D��=�=��&�z�2�f�:�F�����(�|�u�,����B����h�<�5�(��M�M�!�G�*�b��k�:���a�����&�z�X�%��=�=��&�z�2�f�:�t�L�����(�|�u�,����B����a�����&�z�Y�&�"�V�*��*?����E�&���
����/�"�V�*�<�s�B�C�C�9r7c�J�URX5nURX25 U$)a@
Use a two pass strategy
First we create a new opts tree from oldopts removing/commenting
 the options as indicated by the contents of newopts
Second we fill in the new opts tree with options as indicated
 in the newopts tree (this is because entire (sub)sections may
 exist in the newopts that do not exist in oldopts)
)r�r�)r3r�r�r�s    r�merge�IPAChangeConf.mergeKs#���}�}�W�.���
�
�d�$��r7c��/n/nSn/nSnUnUnUH�n	URU	5n
U
(a"UbURUSUS.5 /nUnUnU
nM=URU	5n
U
(aUb[S5e/nUnU
nMkUR	U	5n
U
(a)Uc[S5eURUSUS.5 SnUnM�URURU	55 M� U(aURUSUS.5 U$)Nrtr�z(nested subsections are not supported yetz)Unmatched end subsection terminator foundr~)rjr�rnr�rqr�)r3�fr��sectoptsrt�subsectoptsr~�curopts�
fatheroptsrZrzs           r�parse�IPAChangeConf.parseYs-�����������
����
��D��%�%�d�+�E���&��K�K��)�h� W�X���"��%�
�����(�(��.�E���)�%�&P�Q�Q� ��%��"�
���+�+�D�1�E���%�%�&Q�R�R��!�!�:�|�Va�"b�c�!�
�$���
�N�N�4�>�>�$�/�0�C�H��K�K��)�h�O�P��r7c���SnSn[R"XUR-5 [US5nUR	U5nURXR5nUR
U5nURS5 URS5 URU5 U(aUR5 g![a gf=f!U(aUR5 ff![a ff=f=f)z�Write settings to configuration file
file is a path
options is a set of dictionaries in the form:
    [{'name': 'foo', 'value': 'bar', 'action': 'set/comment'}]
    section is a section name like 'global'
rN�rT)�shutil�copy2r1rr�r�r��seek�truncate�writerr)r3�filer�r�r�r�r�s       r�
changeConf�IPAChangeConf.changeConf�s�������	��L�L��d�&8�&8�8�9��4��'�A��j�j��m�G��j�j��2�G��Y�Y�w�'�F�
�F�F�1�I�
�J�J�q�M�
�G�G�F�O�
���G�G�I����
���
��
���G�G�I����
��
�sB�BC�B4�4
C�C�C/�C�C/�
C,�)C/�+C,�,C/c���SnSn[R"XUR-5 [US5nUR
S5 URS5 URU5nURU5 U(aUR5 g![anURS:XaSnAN�SnAff=f![a gf=f!U(aUR5 ff![a ff=f=f)z�Write settings to new file, backup old
file is a path
options is a set of dictionaries in the form:
    [{'name': 'foo', 'value': 'bar', 'action': 'set/comment'}]
    section is a section name like 'global'
rNrdr�rT)r�r�r1rrrr�r�r�r�r)r3r�r�r�r�rs      r�newConf�IPAChangeConf.newConf�s�������	�
����T�$�*<�*<�#<�=��4��'�A�
�F�F�1�I�
�J�J�q�M��Y�Y�w�'�F�
�G�G�F�O�
���G�G�I���)�
��9�9��>����
��$�
���
��
���G�G�I����
��
�se�#B�AC�;B;�
B8�B3�.C�3B8�8C�;
C�C�C6�
C&�$C6�&
C3�0C6�2C3�3C6)r)r1r+r*r,r.r-r(r'r/r0N�r�F)�__name__�
__module__�__qualname__�__firstlineno__r5r:rArErHrKrPrTr\rarjrnrqru�staticmethodr{r�r�r�r�r�r�r�r�r�r��__static_attributes__r�r7rrr0s���'��A�&�(� �!�!���
D���M�
�����8
X�	�$�L/�b D�D�2�h�B r7rc��\rSrSrSr\R"S5rSrSr	Sr
SrSrS	r
SS
jrSrSrS
rSrSSjrSSjrSrSrSSjrSrg)�SSSDChangeConfi�z*An SSSD-specific subclass of IPAChangeConfz1\s*(?P<option>[^:=\s][^:=]*)\s*=\s*(?P<value>.*)$c�Z�[RUS5 SUlSUl/Ulg)N�SSSD)r!�;z.bak)rr5r+r1r�)r3s rr5�SSSDChangeConf.__init__�s(�����t�V�,�!���#�����	r7c��URU5(aSSS.$URU5nU(aSSUR5S.$URR	U5nU(d[S5eUR
SS5upBUR5SUR5S.$![a [S5ef=f)zx
Overrides IPAChangeConf parseLine so that lines are split
using any separator in self.assign, not just the default one
r�r�r+r�r�rrz)	rar\r��OPTCRE�matchr��group�
IndexErrorr_)r3rZrzr�r4s     rr��SSSDChangeConf.parseLine�s����?�?�4� � �#�W�5�5��!�!�$�'���%�y�5�<�<�>�R�R�
�[�[�
�
�t�
$����A�B�B�	C��(�(�8�W�5�K�D��
�
��h�����O�O���	C��A�B�B�	C�s�6B,�,Cc�X�URRURU55 gr9)r��extendr�)r3rs  r�readfp�SSSDChangeConf.readfp�s���	�	������B��(r7c�^�[US5nURU5 UR5 g)N�r)rr�r)r3rrs   r�read�SSSDChangeConf.read�s"��
�(�C�
 �����B��
���
r7c�B�URX5up4U(aUS$g)Nrz��get_option_index�r3rtr4�index�items     r�get�SSSDChangeConf.gets&���+�+�G�:������=� �r7c�b�SUSUUSS./SS.nURURU/5Ulg)Nrtrr�)r=r4rzr�)r�r�)r3rtr4rz�modkws     rr��SSSDChangeConf.setsD��"� �%�!�#�$�	��!�	���J�J�t�y�y�5�'�2��	r7c�n�URSSS.5 SUUS.nURRX45 g)Nr�)r=rzrt)r=r4rz)r�r�r�)r3r4�optkwr��addkws     r�add_section�SSSDChangeConf.add_sections7��
���g��8�9�"���!��	
�	�	����&r7c�(�URSU5 g)Nrt)�
delete_optionr2s  r�delete_section�SSSDChangeConf.delete_sections�����9�d�+r7c�Z�URVs/sHoSS:XdM
UPM sn$s snf)Nr=rt�r�)r3r�s  r�sections�SSSDChangeConf.sectionss'���9�9�?�9�a�&�	�Y�(>��9�?�?��?s�(�(c��[URVs/sHo"SS:XdM
USU:XdMUPM sn5S:�$s snf)Nr=rtr4r)rYr�)r3rtr�s   r�has_section�SSSDChangeConf.has_section s@���t�y�y�[�y�!�f�I��,B�A�a��i�SZ�FZ�A�y�[�\�_`�`�`��[s�?�?�?c�`�URHnUSS:XdMUSU:XdMUSs $ g)Nr=rtr4rzr�)r3rt�opts   rr��SSSDChangeConf.options#s1���9�9�C��6�{�i�'�C��K�7�,B��7�|�#�r7c�:�URURX5$r9)�delete_option_subtreer�)r3r=r4r�s    rr��SSSDChangeConf.delete_option(s���)�)�$�)�)�T�@�@r7c�@�URXX45upVU(aX	U$r9)r�)r3�subtreer=r4r�r�r�s       rr�$SSSDChangeConf.delete_option_subtree+s!���m�m�G�4�J�������r7c�>�URX5up4US:waUbgg)NrTFr�r�s     r�
has_option�SSSDChangeConf.has_option1s&���+�+�G�:����B�;�4�+��r7c�T�/nUHnUSS;aMURU5 M! U$)Nr=)r+r�)r�)r3�optlist�retlistr�s    r�strip_comments_empty�#SSSDChangeConf.strip_comments_empty7s4�����C��6�{�2�2���N�N�3����r7c��SnU(a-URURSU5upVU(dgUSnOURnURXCU5$)Nrt)rNrz)r�r�)r3�parent_namer4r=r�pindex�pdatas       rr��SSSDChangeConf.get_option_index?sK����� �M�M�$�)�)�Y��L�M�F��!��G�n�G��i�i�G��}�}�W�D�1�1r7)r1r+r�Nr�r�)r)r�r�r�r��__doc__�re�compiler�r5r�r�r�r�r�r�r�r�r�r�r�rrr
r�r�r�r7rr�r��sl��4�
�Z�Z�	��F��P�0)��
!�
3�'�,�@�a�$�
A����	2r7r�)T)	rr	rr�rr�objectrr�r�r7r�<module>rs:���(
�	�
�	��*^�F�^�B
w2�]�w2r7

Filemanager

Name Type Size Permission Actions
__init__.cpython-313.pyc File 58.03 KB 0644
ipachangeconf.cpython-313.pyc File 24.63 KB 0644
sssdoptions.cpython-313.pyc File 50.2 KB 0644
Filemanager