MOON
Server: Apache
System: Linux s5.yayogua.com.py 6.12.0-124.55.3.el10_1.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:54:02 EDT 2026 x86_64
User: sanbercountryclu (1012)
PHP: 8.2.32
Disabled: NONE
Upload Files
File: //usr/share/crypto-policies/python/policygenerators/__pycache__/openssh.cpython-312.pyc
�

��i�,��|�ddlZddlZddlZddlmZddlmZGd�de�ZGd�de�ZGd	�d
e�Z	d�Z
y)�N)�mkstemp�)�ConfigGeneratorc
�(�eZdZidd�dd�dd�dd�d	d
�dd�d
d�dd�dd�dd�dd�dd�dd�dd�dd�dd�dd�ddddd��Zddd d!d"d#d$�Zd%d&d'd(d)d*d$�Zd+d,d-d.d/d0d1d2d3d4d5d6d7�Zd8d9d:�Zd;d<d=d>d?d@dAdB�ZdCddDdEdFdGdHdIdJdKdL�
Z	dMddNdOdPdQdRdSdTdUdL�
Z
edV��ZyW)X�OpenSSHGeneratorzAES-256-GCMzaes256-gcm@openssh.comzAES-256-CTRz
aes256-ctrzAES-192-GCM�zAES-192-CTRz
aes192-ctrzAES-128-GCMzaes128-gcm@openssh.comzAES-128-CTRz
aes128-ctrzCHACHA20-POLY1305zchacha20-poly1305@openssh.comzCAMELLIA-256-GCMzAES-256-CCMzAES-192-CCMzAES-128-CCMzCAMELLIA-128-GCMzAES-256-CBCz
aes256-cbczAES-192-CBCz
aes192-cbczAES-128-CBCz
aes128-cbczCAMELLIA-256-CBCzCAMELLIA-128-CBCz3des-cbc)zRC4-128zDES-CBCzCAMELLIA-128-CTSz3DES-CBCzhmac-md5-etm@openssh.comzumac-64-etm@openssh.comzumac-128-etm@openssh.comzhmac-sha1-etm@openssh.comzhmac-sha2-256-etm@openssh.comzhmac-sha2-512-etm@openssh.com)zHMAC-MD5zUMAC-64zUMAC-128z	HMAC-SHA1z
HMAC-SHA2-256z
HMAC-SHA2-512zhmac-md5zumac-64@openssh.comzumac-128@openssh.comz	hmac-sha1z
hmac-sha2-256z
hmac-sha2-512)zecdh-sha2-nistp521)zecdh-sha2-nistp384)zecdh-sha2-nistp256)zcurve25519-sha256zcurve25519-sha256@libssh.org)zdiffie-hellman-group1-sha1)zdiffie-hellman-group14-sha1)zdiffie-hellman-group14-sha256)zdiffie-hellman-group16-sha512)zdiffie-hellman-group18-sha512)zmlkem768x25519-sha256)zmlkem768nistp256-sha256)zmlkem1024nistp384-sha384))�ECDHE�	SECP521R1�SHA2-512)r	�	SECP384R1�SHA2-384)r	�	SECP256R1�SHA2-256)r	�X25519r)�DHE�
FFDHE-1024�SHA1)r�
FFDHE-2048r)rrr)r�
FFDHE-4096r)rz
FFDHE-8192r)�KEM-ECDHzMLKEM768-X25519r)rz
P256-MLKEM768r)rzP384-MLKEM1024r
)z"diffie-hellman-group-exchange-sha1)z$diffie-hellman-group-exchange-sha256))rr)rr)z
gss-gex-sha1-)zgss-group1-sha1-)zgss-group14-sha1-)zgss-group14-sha256-)zgss-nistp256-sha256-)zgss-curve25519-sha256-)zgss-group16-sha512-))�DHE-GSSr)rrr)rrr)rrr)�	ECDHE-GSSrr)rrr)rrrzssh-rsazrsa-sha2-256zrsa-sha2-512zecdsa-sha2-nistp256z"sk-ecdsa-sha2-nistp256@openssh.comzecdsa-sha2-nistp384zecdsa-sha2-nistp521zssh-ed25519zsk-ssh-ed25519@openssh.com)
zRSA-SHA1zDSA-SHA1zRSA-SHA2-256zRSA-SHA2-512zECDSA-SHA2-256zECDSA-SHA2-256-FIDOzECDSA-SHA2-384zECDSA-SHA2-512z
EDDSA-ED25519zEDDSA-ED25519-FIDOzssh-rsa-cert-v01@openssh.comz!rsa-sha2-256-cert-v01@openssh.comz!rsa-sha2-512-cert-v01@openssh.comz(ecdsa-sha2-nistp256-cert-v01@openssh.comz+sk-ecdsa-sha2-nistp256-cert-v01@openssh.comz(ecdsa-sha2-nistp384-cert-v01@openssh.comz(ecdsa-sha2-nistp521-cert-v01@openssh.comz ssh-ed25519-cert-v01@openssh.comz#sk-ssh-ed25519-cert-v01@openssh.comc	�B�|j}d}d}d}|dD]#}		|j||j|	|�}�%|r	|d|�d�z
}d}|jddk7r+|dD]#}		|j||j
|	|�}�%|jdd	k7r+|dD]#}		|j||j|	|�}�%|r	|d
|�d�z
}g}
g}|dD]�}|dD]�}
|jd
r8	|
j|j||
f�	|j|||
f�|dD]2}	|
j||||
f�	|j||||
f��4����|r|ddj|��d�z
}n|dz
}|
r|ddj|
��d�z
}d}|dD]T}		|j||j|	|�}|jds�4	|j||j|	|�}�V|r|r	|d|�d�z
}|d|�d�z
}|d|�d�z
}d}|dD]#}		|j||j|	|�}�%|r	|d|�d�z
}|jddkDr|d|jd�d�z
}|S#t$rY��vwxYw#t$rY��<wxYw#t$rY��wxYw#t$rY���wxYw#t$rY���wxYw#t$rY���wxYw#t$rY���wxYw#t$rY��0wxYw#t$rY��dwxYw#t$rY��wxYw)Nr�,�cipherzCiphers �
�etm�DISABLE_ETM�mac�DISABLE_NON_ETMzMACs �key_exchange�hash�arbitrary_dh_groups�groupzGSSAPIKexAlgorithms zGSSAPIKeyExchange no
zKexAlgorithms �sign�	ssh_certszHostKeyAlgorithms zPubkeyAcceptedAlgorithms zHostbasedAcceptedAlgorithms zCASignatureAlgorithms �min_rsa_sizerzRequiredRSASize )
�enabled�append�
cipher_map�KeyError�enums�mac_map_etm�mac_map�integers�extend�gx_map�join�sign_map�sign_map_certs)�cls�policy�local_kx_map�local_gss_kx_map�do_host_key�p�cfg�sep�s�i�kxs�gss_kxs�kx�h�gs               �=/usr/share/crypto-policies/python/policygenerators/openssh.py�generate_optionsz!OpenSSHGenerator.generate_optionszs���
�N�N���������8��A�
��J�J�q�#�.�.��"3�S�9���
��X�a�S��#�#�C����<�<���-�/��u�X����
�
�1�c�o�o�a�&8�#�>�A��
�<�<���"3�3��u�X����
�
�1�c�k�k�!�n�c�:�A��
��U�1�#�R�=� �C������N�#�B��v�Y���?�?�#8�9���
�
�3�:�:�r�1�g�#6�7�����'7��Q��'@�A��7��A���
�
�<��Q��
�#;�<�����'7��Q��
�'C�D�
$��$�*��)�#�(�(�7�*;�)<�B�?�?�C��+�+�C���^�C�H�H�S�M�?�"�5�5�C����6��A�
��J�J�q�#�,�,�q�/�3�7�����{�+���
�
�1�c�&8�&8��&;�S�A�A��
���+�A�3�b�1�1���.�q�c��4�4�C��1�!��B�7�7�C����6��A�
��J�J�q�#�,�,�q�/�3�7���
��+�A�3�b�1�1�C��?�?�>�*�Q�.��%�f�o�o�n�&E�%F�b�I�I�C��
��q�
��
�� ����� �����$�����$�����
$�����$������
��
��
 ����� �
��
�s�� J�& J�# J"�4 J2�K�4K�K"�. K2� L�+ L�	J�J�	J�J�"	J/�.J/�2	J?�>J?�	K�K�	K	�K	�"	K/	�.K/	�2	K?�>K?�	L�L�	L�LN)
�__name__�
__module__�__qualname__r*r-r.�kx_mapr1�
gss_kx_mapr3r4�classmethodrE��rDrrs�����/���|��	�r��	�|�	�
	�/��	�|�
�	�<��	�B��	�r��	�r��	�r��	�B��	�|��	�|��	�|�� 	�B�!�"	�B�#�$����+�J�2/�,�.�0�8�8�
�K��(�*� �(�(�
�G�-D�,C�,C�*
�(G�'G�+M�+M�+M�6
�4
�5
�'�F�2A�F��F�0�+@�+A�/G�0I�-H�/G��J���&�&�/�C�/�/�&�:��H�3��;�;�D�L�D�D�;�C��N��b��brMrc�0�eZdZdZed��Zed��Zy)�OpenSSHClientGenerator�opensshc��|jhd��}t|j�}t|j�}|j	|||d��S)N>�openssh-client�sshrPF�r9)�scoped�dictrIrJrE)r5�unscoped_policyr6r7r8s     rD�generate_configz&OpenSSHClientGenerator.generate_config�sR�� �'�'�(L�M���C�J�J�'������/���#�#�F�L�:J�05�$�7�	7rMc�R�tjd�dk(rytjdtj�syt	�\}}d}	tj
|d�5}|j
|�ddd�	tjd|�d�d�	�}tj|�|r&|jd�|jd|���y
y#1swY�cxYw#tj$r|jd
�Y�pwxYw#tj|�wxYw)N�OLD_OPENSSH�1T�/usr/bin/ssh��wz/usr/bin/ssh -G -F z bogus654_server >/dev/null��shellz/usr/bin/ssh: Execution failed�4There is an error in OpenSSH server generated policy�Policy:
F)�os�getenv�access�X_OKr�fdopen�write�
subprocess�call�CalledProcessError�eprint�unlink)r5�config�fd�path�ret�fs      rD�test_configz"OpenSSHClientGenerator.test_config�s���
�9�9�]�#�s�*���y�y�����1���9���D���		����2�s�#�q������$�
=� �o�o�(;�D�6�BC�'C�JN�P��

�I�I�d�O���J�J�M�N��J�J��6�(�+�,���$�#��
�0�0�
=��
�
�;�<�
=��
�I�I�d�O�sB�D�%C�7D�C%�C"�D�%$D�	D�D�D�D&N)rFrGrH�CONFIG_NAMErKrXrsrLrMrDrOrO�s-���K��7��7����rMrOc�T�eZdZdZdZed��Zed��Zed��Zed��Z	y)�OpenSSHServerGenerator�
opensshserverz4systemctl try-restart sshd.service 2>/dev/null || :
c�z�|jhd��}|j||j|jd��S)N>�openssh-serverrSrPTrT)rUrErIrJ)r5rWr6s   rDrXz&OpenSSHServerGenerator.generate_configs<�� �'�'�(L�M���#�#�F�C�J�J����04�$�6�	6rMc��t�\}}tj|�d}	tjd|�d�d��}|r|j
d�y|S#tj
$r|j
d�Y�<wxYw)	Nr]z&/usr/bin/ssh-keygen -t rsa -b 3072 -f z -N "" >/dev/nullTr_z%/usr/bin/ssh-keygen: Execution failedz4SSH Keygen failed when testing OpenSSH server policyr)rrcrmrirjrkrl)r5�_fdrprqs    rD�_test_setupz"OpenSSHServerGenerator._test_setups����I�	��T�
�	�	�$����	@��/�/�#(�(,�v�->�#@�GK�M�C�
��J�J�M�N�����
�,�,�	@��J�J�>�?�	@�s�A�$A>�=A>c�4�|rtj|�yy�N)rcrm)r5rps  rD�
_test_cleanupz$OpenSSHServerGenerator._test_cleanup%s����I�I�d�O�rMc���tjd�dk(rytjdtj�sy|j	�}|syt�\}}d}	tj|d�5}|j|�ddd�	tjd|�d	|�d
�d��}tj|�|j|�|r&|jd
�|jd|���yy#1swY�wxYw#tj$r|jd�Y��wxYw#tj|�|j|�wxYw)NrZr[Tz/usr/sbin/sshdFr]r^z/usr/sbin/sshd -T -h z -f z >/dev/nullr_z /usr/sbin/sshd: Execution failedrarb)rcrdrerfr|rrgrhrirjrkrlrmr)r5rn�host_key_filenamerorprqrrs       rDrsz"OpenSSHServerGenerator.test_config*s7���9�9�]�#�s�*���y�y�)�2�7�7�3���O�O�-�� ���9���D���	1����2�s�#�q������$�
?� �o�o�',�,=�+>�d�4�&�I3�'3�:>�@��
�I�I�d�O����/�0���J�J�M�N��J�J��6�(�+�,���!$�#���0�0�
?��
�
�=�>�
?��
�I�I�d�O����/�0�sB�"D6�8D�
D6�D�D	�D6�$D3�0D6�2D3�3D6�6(EN)
rFrGrHrt�
RELOAD_CMDrKrXr|rrsrLrMrDrvrvs]��!�K�I�J��6��6�
�
��
��������rMrvc�"�	tjddgdtj��jj	�}tjd|�}|r td�|j�D��S	y#ttf$rYywxYw)Nr\z-VF)�check�stderrzOpenSSH_(\d+).(\d+)p.*c3�2K�|]}t|����y�wr~)�int)�.0�ns  rD�	<genexpr>z#_openssh_version.<locals>.<genexpr>Ss����6��A��Q���s�)ri�run�PIPEr��decode�re�match�tuple�groups�FileNotFoundError�PermissionError)�ssh_version�vers  rD�_openssh_versionr�Ms���� �n�n�n�d�%;�5�,6�O�O�=�=C�V�F�F�H�	��h�h�0�+�>����6�����6�6�6����
��/����s�A7A<�<B�
B)rcr�ri�tempfiler�configgeneratorrrrOrvr�rLrMrD�<module>r�sH��
�	���,�O��O�d%�-�%�PB�-�B�J	rM