CasperSecurity

Current Path : /lib/python3/dist-packages/DistUpgrade/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/DistUpgrade/__pycache__/utils.cpython-310.pyc

o

��{fmH�@sBddlmZddlmZddlmZddlmZmZmZddl	m
Z
ddlZddlZe�
�ddlZddlZddlZddlZddlZddlZddlZzddlmZmZmZmZmZddlmZWney}ddlmZmZmZmZmZddlmZYnwdd	l m Z Gd
d�de!�Z"Gdd
�d
�Z#dd�Z$dd�Z%dMdd�Z&dd�Z'dNdd�Z(dd�Z)dd�Z*dd�Z+d d!�Z,d"d#�Z-d$d%�Z.Gd&d'�d'e�Z/dMd(d)�Z0dMd*d+�Z1d,d-�Z2d.d/�Z3d0d1�Z4d2d3�Z5dMd4d5�Z6d6d7�Z7dMd8d9�Z8dMd:d;�Z9d<d=�Z:d>d?�Z;d@dA�Z<dBdC�Z=dDdE�Z>dFdG�Z?dHdI�Z@eAdJk�re:ddKdL�dSdS)O�)�print_function)�gettext)�ngettext)�S_IMODE�ST_MODE�S_IXUSR)�ceilN)�ProxyHandler�Request�build_opener�install_opener�urlopen)�urlsplit)�copyc@s*eZdZdZd
dd�Zdd�Zdd�Zd	S)�
ExecutionTimez�
    Helper that can be used in with statements to have a simple
    measure of the timing of a particular block of code, e.g.
    with ExecutionTime("db flush"):
        db.flush()
    �cCs
||_dS�N)�info)�selfr�r�3/usr/lib/python3/dist-packages/DistUpgrade/utils.py�__init__Gs
zExecutionTime.__init__cCst��|_dSr)�time�now�rrrr�	__enter__JszExecutionTime.__enter__cCs td|jt��|jf�dS)Nz%s: %s)�printrrr)r�type�value�stackrrr�__exit__Ms zExecutionTime.__exit__N)r)�__name__�
__module__�__qualname__�__doc__rrr rrrrr@s

rc@s(eZdZdZdZdZdZdZdZdZ	dS)	�SoftwarePropertiesPager������N)
r!r"r#�ubuntu_software�other_software�updates�authentication�additional_drivers�developer_options�
ubuntu_prorrrrr%Qsr%cCsJt|�}t|j�}|jr|j�|jd�|_|jr!|j�|jd�|_t|�S)Nzhidden-uzhidden-p)rr�uri�username�replace�password�str)�entry�tmp�	url_partsrrr�)get_string_with_no_auth_from_source_entry[s
r;cCsDd}zddl}|��}|�d�}W|Sty!t�d�Y|Sw)z+ return True if Unity is currently running FrNzcom.canonical.Unityz&could not check for Unity dbus service)�dbus�
SessionBus�name_has_owner�	Exception�logging�	exception)�
unity_runningr<�busrrr�is_unity_runninges��rDcCs�|st��}|dkrId|}t|��}|��}Wd�n1s!wY|�d�d�d�d}||kr8dSt|�d�d��d�}|dks
dS)	Nrz
/proc/%s/stat�(r'�)Tr&F)�os�getpid�open�read�	partition�
rpartition�int�split)�processname�pid�	stat_file�stat_f�stat�commandrrr�is_child_of_process_nameqs

��
rUcCs0tj�d�rtj�d�sdSt�d�t�d�kS)z, returns True if we are inside a chroot
    z/procz/proc/1T�/z/proc/1/root)rG�path�existsrSrrrr�
inside_chroot�srY�FrcCsLd}|��D]}t|�|�d�t|�|kr|d|7}||d7}q|S)z� helpers inspired after textwrap - unfortunately
        we can not use textwrap directly because it break
        packagenames with "-" in them into new lines
    r�
� )rN�len�rfind)�t�width�subsequent_indent�out�srrr�wrap�srdcKs8d}|�d�}|D]}t|fi|��}||d7}q	|S)Nrr[)rNrd)rc�kwargs�msg�paras�parrrr�twrap�s
ricCsdg}tj�d�s
gStjdgtjdd�}|��d�d�}|d=|D]
}|r/|�|��d�q"|S)z= return list of loaded modules (or [] if lsmod is not found) z/sbin/lsmodT��stdout�universal_newlinesrr[)	rGrWrX�
subprocess�Popen�PIPE�communicaterN�append)�modules�p�lines�linerrr�lsmod�s��rvcCsFtj�|�sdStt�|�t�}|t@tks!t�||tB�dSdS)zB check if a given binary has the executable bit and if not, add itN)rGrWrXrrSrr�chmod)rW�moderrr�check_and_fix_xbit�s�rycCs�ddi}dtjvrdStjd��}|dd�|vr"||dd�Sd|vrA|�d�d�d�d	}d
|vr=|�d
�d}|dS|dd�dS)z: helper to get the country mirror from the current locale �cr�LANGNr*�_�.rr&�@r')rG�environ�lowerrN)�lang_mirror�lang�countryrrr�country_mirror�s
r�cC�tj�d�}|rt�d|�|Sddlm}m}|gd�|dd�}|��}|dkr4t	j
�d|�d	S|j�
���}|j��|S)
z2 return the codename of the current runing distro �META_RELEASE_FAKE_CODENAMEzQusing fake release name '%s' (because of META_RELEASE_FAKE_CODENAME environment) r�rnro)�lsb_releasez-c�-sTrj�"lsb_release returned exitcode: %i
�unknown distribution�rGr�getr@�warningrmrnro�wait�sys�stderr�writerk�readline�strip�close)�distrnrors�resrrr�get_dist��"�
�
r�cCr�)
z2 return the version of the current running distro �META_RELEASE_FAKE_VERSIONzSusing fake release version '%s' (because of META_RELEASE_FAKE_VERSION environment) rr�)r�z-rr�Trjr�r�r�)�descrnrorsr�rrr�get_dist_version�r�r�c@seZdZdd�ZdS)�HeadRequestcC�dS)N�HEADrrrrr�
get_method�szHeadRequest.get_methodN)r!r"r#r�rrrrr��sr�c
CsT|sdd�|d|�t|�\}}}}}|d|||||f�|dvrSztt|��}|��|jdkr7WdSWdStyR}z
|d	|�WYd
}~dSd
}~ww|dkr�dd
l}	z1|	�|�}
|
��|
�	t
j�|��|
�
t
j�|��}|
��|r�|d
|�|dkr�WdSWdSty�}z|r�|d|�WYd
}~dSd
}~wwdS)z�
    helper that checks if the given uri exists and is downloadable
    (supports optional debug_func function handler to support
     e.g. logging)

    Supports http (via HEAD) and ftp (via size request)
    cSr�)NTr)�xrrr�<lambda>
sz"url_downloadable.<locals>.<lambda>zurl_downloadable: %sz"s='%s' n='%s' p='%s' q='%s' f='%s')�http�https��TFzerror from httplib: '%s'N�ftprzftplib.size() returned: %szerror from ftplib: '%s')rr
r�r��coder?�ftplib�FTP�login�cwdrGrW�dirname�size�basename�quit)r3�
debug_func�scheme�netlocrW�querry�fragment�	http_file�er��fr�rrr�url_downloadablesP
�
��
����r�c
CsBd}i}tj�d�dkrtj�d�|d<n0tj�|�rEt��}t�||�|�dd�}|rE|�d�}t	|�
d��}|rE|rEd	||f|d<tj�d
�dkrVtj�d
�|d<n
d|vr`|d|d<|r�|��D]}t�
d|�sztd
|tjd�dSqft|�}t|�}	t|	�d|vr�t�d|d�d|vr�t�d|d�|S)z� init proxy settings

    * use apt.conf http proxy if present,
    * otherwise look into synaptics config file,
    * otherwise the default behavior will use http_proxy environment
      if present
    z/root/.synaptic/synaptic.confzAcquire::http::Proxyrr�zSynaptic::useProxyFzSynaptic::httpProxyzSynaptic::httpProxyPortz
http://%s:%s/zAcquire::https::Proxyr�zhttps?://\w+zproxy '%s' looks invalid)�fileN�
http_proxy�https_proxy)�apt_pkg�config�findrGrWrX�
Configuration�read_config_file�find_br7�find_i�values�re�matchrr�r�r	rr�putenv)
�	gsettings�SYNAPTIC_CONF_FILE�proxies�cnf�	use_proxy�
proxy_host�
proxy_port�proxy�
proxy_support�openerrrr�
init_proxy,s>
�r�c
Cs�zOddl}|�|jj�}z|�dd�}|�|d�}|�dd�WWS|jjyO}z!d}|j|kr2�|�dd	�}|�|d�}|�dd
�WYd}~WSd}~wwt	yYYdSw)z�
    Check via dbus if the system is running on battery.
    This function is using UPower per default, if UPower is not
    available it falls-back to DeviceKit.Power.
    rNzorg.freedesktop.UPowerz/org/freedesktop/UPowerzorg.freedesktop.DBus.Properties�	OnBatteryz)org.freedesktop.DBus.Error.ServiceUnknownzorg.freedesktop.DeviceKit.Powerz /org/freedesktop/DeviceKit/Power�
on_batteryF)
r<�Bus�TYPE_SYSTEM�
get_object�	Interface�Get�
exceptions�
DBusException�_dbus_error_namer?)r<rC�devobj�devr��
error_unknownrrrr�Xs.�
����r�cCszz2ddlm}m}|�|jj�}|�dddd|�dd�d	dd
d	d	�
\}}|j|�	�|dd�}|WSt
y<YdSw)
z�
    Send a dbus signal to logind to not suspend the system, it will be
    released when the return value drops out of scope
    r)�Gio�GLibzorg.freedesktop.login1z/org/freedesktop/login1zorg.freedesktop.login1.Manager�Inhibitz(ssss))zshutdown:sleep�
UpdateManagerzUpdating System�blockN���)�fdF)�
gi.repositoryr�r��bus_get_sync�BusType�SYSTEM�call_with_unix_fd_list_sync�Variant�UnixInputStream�	steal_fdsr?)r�r��
connection�var�fdlist�	inhibitorrrr�
inhibit_sleepts �
��r�cCs|dks
|��dkrdSdS)N�0�FALSEFT)�upper)r7rrr�str_to_bool�sr�cCs:ddl}z	t��\}}|WSty|�d�YdSw)Nrzgedefaultlocale() failed)r@�locale�getdefaultlocaler?rA)r@�locale_s�encodingrrr�get_lang�s
�r�cCst|d�}|�dd�dS)z6 try to guess the flavor based on the running desktop ��cache�-r&r)�get_ubuntu_flavor_packagerN)r��pkgrrr�get_ubuntu_flavor�s
rcCs ddlm}|d�}|�dd�S)Nr)�DistUpgradeConfigz"/usr/share/ubuntu-release-upgrader�Distro�MetaPkgs)�#DistUpgrade.DistUpgradeConfigParserr�getlist)r�parserrrr�_load_meta_pkg_list�src
Cs�dg}z
|�tt���Wnty$}ztd|�WYd}~nd}~ww|dur-t��}|D]}||vr9||nd}|rD|jrD|Sq/dS)zB try to guess the flavor metapackage based on the running desktop zubuntu-desktopz%Could not load list of meta packages:N)�extend�sortedrr?r�apt�Cache�is_installed)r��	meta_pkgsr��meta_pkg�	cache_pkgrrrr��s��
�r�cCsbt|d�}ddi}||vr||S|�d�r t|�dd�d�S|�d�r/t|�dd�d�SdS)	z; try to guess the flavor name based on the running desktop r�zubuntustudio-desktopz
Ubuntu Studioz-desktopr&rz-netbook�Ubuntu)r��endswith�capitalize_first_word�rsplit)r�r�lookuprrr�get_ubuntu_flavor_name�s


rcCs�ddl}|�dd�ddlm}m}|j||jj|jj	|j
jd�}|�d||f�|�
�|���|jj�|�d�|��|��dS)	Nr�Gtkz3.0)r�Gdk)�parent�flagsr�buttonsz<big><b>%s</b></big>

%srF)�gi�require_versionr�rr�
MessageDialog�DialogFlags�MODAL�MessageType�ERROR�ButtonsType�CLOSE�
set_markup�realize�
get_window�
set_functions�
WMFunction�MOVE�	set_title�run�destroy)r�summary�messagerrr�drrr�error�s�
r1cCsH|dkrtt|td���}tdd|�d|iSt�td�|dd�S)zG
    Convert a given size in bytes to a nicer better readable unit
    i@Bi�z
%(size).0f kBr�z%.1f MBg@�@)rMr�floatrr��
format_stringr|)�bytes�
size_in_kbrrr�
humanize_size�s
�r6cCstj�d�S)NzAPT::Architecture)r�r�r�rrrr�get_arch�sr7c
Cs�d}d}d}td��?}|��D]1}|��}|sq|��}||}||kr%q||�d�d}t|d�}	|	|kr@Wd�dSqWd�d	S1sLwYd	S)
z@ check if the current system is listening on the given tcp port r&r(�0Az
/proc/net/tcp�:�NTF)rI�	readlinesr�rNrM)
�port�INDEX_LOCAL_ADDR�INDEX_STATE�STATE_LISTENING�net_tcprur��state�local_port_str�
local_portrrr�is_port_already_listening�s.

��
��rDcCsVd}t��dkrtd��tj�d�sdStjddgtjdd	���d}||kr)dSdS)
z# Return True if iptables is active z�Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
rz%Need root to check the iptables statez/sbin/iptablesF�iptablesz-nLTrj)	rG�getuid�OSErrorrWrXrmrnrorp)�iptables_emptyrbrrr�iptables_actives	
��rIcCs@t|�dkr|d��r|d��s|d��|dd�S|S)z3 this uppercases the first word's first letter
    r&rN)r]�isalpha�isupper�
capitalize)�stringrrrr,s$rcCst|jdd�}t|�S)zX this takes a package synopsis and uppercases the first word's
        first letter
    r.r)�getattr�	candidater)r�namerrr�get_package_label4srQ�__main__�bar�bazr)rZr)B�
__future__rrr|rrSrrr�mathrrr��init_configr�r@r�rGrmr�r�urllib.requestr	r
rrr
�urllib.parser�ImportError�urllib2�urlparser�objectrr%r;rDrUrYrdrirvryr�r�r�r�r�r�r�r�r�r�rrr�rr1r6r7rDrIrrQr!rrrr�<module>sr�






		

+,

	


�
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY