403Webshell
Server IP : 209.209.40.120  /  Your IP : 216.73.217.112
Web Server : Microsoft-IIS/10.0
System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586
User : NEWWWW$ ( 0)
PHP Version : 8.3.30
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Program Files/MySQL/MySQL Workbench 6.3 CE/modules/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Program Files/MySQL/MySQL Workbench 6.3 CE/modules/wb_admin_config_file_be.pyc
�
�"�Xc@sbddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl	m
Z
mZmZm
Z
mZmZmZddlmZmZmZmZmZddlmZmZmZmZddlmZddlmZiZ de d<d	Z!d
Z"d�Z#d�Z$d
�Z%d�Z&d�Z'de(fd��YZ)dZ*dZ+dZ,defd��YZ-de(fd��YZ.d�Z/d�Z0d�Z1d�Z2d�Z3d�Z4d�Z5d �Z6d!�Z7d"�Z8d#�Z9d$�Z:d%�Z;d&�Z<d'�Z=d(�Z>d)�Z?d*�Z@d+�ZAdS(,i����N(t	UtilitiestFormtnewBoxtnewLabelt
newTextBoxt	newButtontApp(tOperationCancelledErrortInvalidPasswordErrortPermissionDeniedErrort	splitpathtUsers(tlog_infot	log_debugt
log_debug2t
log_debug3(t
ServerProfile(tserver_version_str2tuples@grt.root.wb.options.options["@db.mysql.Table:tableEngine/Items"]sengine-lists\ntmysqldcCs6tt|�t|��}t|d|!|d|!�S(Ni(tmintlentcmp(tv1tv2tminlen((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytver_cmp-sc
Cs
|\}}}t}d}x3|D]+}t||�dkr"|}t}Pq"q"W|r|dk	r�xG|D]<}|d |d krjt||�dkr�t}nPqjqjWn|dk	rxG|D]<}	|d |	d kr�t||	�dkr�t}nPq�q�Wqn|S(Nii(tFalsetNoneRtTrue(
tversiont
versions_listtinvertvlisttoutvertrettmatched_versiontvtivtov((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytoption_is_for_version2s,

	
	cCs�t}|dk	r�|dk	r�t|�}t|�}||krZ||kr�t}q�q�||kr�||| krt}q�||| kr�t}q�q�n|S(N(RRRR(tvdtvstskiptvdltvsl((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytis_opt_deprecatedUs	cCs�d}y�tjd|�}|r�|j�}|ddk	rmt|d�t|d�t|d�f}q�t|d�t|d�f}nWn(tk
r�d|dGt|�GHnX|S(	Ns/([0-9]+)\.([0-9]+)\.([0-9]+)|([0-9]+)\.([0-9]+)iiiiis*ERROR! Incorrect version attribute value 's', (Rtretmatchtgroupstintt
ValueErrorttype(tversion_strRtresttokens((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytparse_version_stris0'
cCs\d}d|krXxCt|d�D].\}}d|kr�tjdk}|r`|ddks#|r�|ddkr�q#q�n|jd�}|jd�}|dkr�d}|d	kr�|d|d
jd�}	|	s�td|d�q�|	}q�n|dkr�d}|t|d�d
kr�|d|d
jd�}	|	|kr�t|d�d|kr�|d|djd�}	n|	s�|d|d
jd�}	n|	s�td|d�q�|	}q�n||kr#||kr#t}
d|kr8|d}||ks,|dks,|dkr>t}
q>nt}
|
rQ|}PqQq#q#Wn|S(Ntvaluestbitsizeii t64t32t	inversiont
outversioniis1Option %s has invalid version range for defaults
tcaptionictplatformtalll(iii(icii(	Rt	enumeratetsystmaxsizetgetRRRR(toptRR?tvaluetit	cur_valuetis_64bitR<R=ttmptplatform_matchtpl((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pyt
pick_valueysL-	&
$tOptioncBsqeZddd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
RS(cCsG||_g|_|dk	rC|dk	rC|jj||f�ndS(N(tsectionR8Rtappend(tselfROtlineRF((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pyt__init__�s		cCs|jj||f�dS(N(R8RP(RQRRRF((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pyRP�scCst|j�dkS(Ni(RR8(RQ((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytis_multiline�scCs7t}t|j�dkr3t|j�tk}n|S(Ni(RRR8R3tbool(RQR"((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pyt
is_switch_opt�scCs|j|dS(Ni(R8(RQRG((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytval�scCsKd}d}x8|jD]-}|d|kr|d}|d}qqW|S(Nii(RR8(RQtresult_valuetresult_lineRF((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pyRF�s
cCs|j|dS(Ni(R8(RQRG((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pyRR�scCs
t|j�S(N(titerR8(RQ((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pyt__iter__�scCs
t|j�S(N(RR8(RQ((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pyt__len__�scCs-tjg|jD]}t|d�^q�S(Ni(tmulti_separatortjoinR8tstr(RQtx((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pyt__str__�scCstj|j�S(N(tpprinttpformatR8(RQ((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pyt__repr__�sN(t__name__t
__module__RRSRPRTRVRWRFRRR[R\RaRd(((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pyRN�s										iiitApplyWizardcBs8eZd�Zd�Zd�Zd�Zdd�ZRS(c	Cstj|d�|jd�||_||_|j|_tt	�}|j
d�|jd�|jj}d|}|d7}|d7}|j
t|�t	t�ttj�|_|jjt�ttj�|_|jjt�|j
|jtt�|j
|jtt�tt�}|jd�t�}|jd�t�|_|jjd�|jj|j�t�|_|jj|j�|j
|jt	t�|j|t	t�|j|jt	t�|j
|t	t	�|j|�|j�|j dd	�|j|j!�dS(
Ns)Apply Changes to MySQL Configuration FileishThe following changes were made to the configuration file "%s"
and will be saved when you click [Apply].sI
You may edit the File Preview if you wish to make more changes manually.sW
Please review carefully as some mistakes could prevent the MySQL server from starting.tApplytCanceli�i�("RRSRt	set_titletserver_profiletctrl_bettarget_is_windowstis_winRRtset_paddingtset_spacingtconfig_file_pathtaddRRRtmformstBothScrollBarstfile_textboxtset_borderedtdiff_view_textboxRtset_textt
cancel_btntadd_clicked_callbacktcancel_clickedtview_btntswitch_viewtadd_endtset_contenttcentertset_sizet
apply_clicked(	RQtownerRlRktcontenttfiletmsgt
button_boxt	apply_btn((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pyRS�sH
		





	


cCs�|jtkrK|jjt�|jjt�|jjd�t|_n9|jjd�|jjt�|jjt�t|_dS(NsView File PreviewsView Changes(t	view_diffRRutshowRwRR|Rx(RQ((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pyR},scCs�|jdk	r�|jj�}||jkrctjddddd�}|tjkrcd}qcn|rt	j
�jd�nt	j
�jd�x
tr�y$|j|�t	j
�jd�Wn�t
k
r}tjd	d
ddd�}|tjkr�q�q�n�tk
r2}tjd	d
ddd�}dStk
r�}ddl}|j�t	j
�jd�tjd	dt|�j|fddd�nXPq�Wn|j�dS(NsConfirm Changes from Previews�You have made additional edits to the configuration file in preview.
If you wish to save these changes click [Yes], or if you wish to ignore these changes click [No].tYestNots.Saving Configuration File with Manual Edits...sSaving Configuration File...sConfiguration File Saved.s!Could not Save Configuration FilesdInvalid admin password while saving the configuration file.
Click Retry to enter the password again.tRetryRis5Password input was cancelled. The file was not saved.tOKi����s Error Saving Configuration File.s8There was an error saving the configuration file.
%s: %s(t
accept_actionRRutget_string_valuetcfgfileRtshow_messageRstResultOkRRDtset_status_textRRt
show_errorRt	Exceptiont	tracebackt	print_excR3Retclose(RQt
text_from_boxtanswertexctrR�((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pyR�;sB		
			
0cCs*tj�jd�d|_|j�dS(Ns$Cancelled Save of Configuration File(RRDR�RR�R�(RQ((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pyR{ds	cCs_||_t|_||_|jj|j�|jj|�|j�|jd|j
�dS(N(R�RR�R�Rut	set_valueRwR}t
show_modalRRy(RQtchanges_textttemp_file_contentR�((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pyR�is			
N(ReRfRSR}R�R{RR�(((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pyRg�s
	<		)	tWbAdminConfigFileBEcBseZddd��YZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d	�Z
d
�Zd�Zd�Z
d
�Zed�Zd�Zd�Zdd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZRS(t
ChangesetItemcBseZd�Zd�ZRS(cCs1||_||_||_||_d|_dS(N(tmodRORFtnameRtorig_opt(RQtmtstnR$((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pyRSys
				cCs�|jtkrd}n0|jtkr0d}n|jtkrHd}n||jd|jdt|j�7}|jr�|dt|j�d7}n|dS(	Nt+t-t*t:t=s;[t]s   (	R�tADDtDELETEtCHANGEROR�R_RFR�(RQR�((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pyRd�s			)	(ReRfRSRd(((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pyR�xs	cCs}g|_i|_d|_t|_i|_g|_d|_||_	||_
|j|_i|_
d|_|j�dS(NR�(t
file_linest
original_optst	file_nameRtneeds_root_for_file_readt	changesettsectionsRt
apply_formRkRlRmRnt
opt_rindextoption_set_statstreload_possible_options(RQRkRl((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pyRS�s											cCs|jS(N(R�(RQ((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytget_file_content�scCs|jS(N(R�(RQ((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytget_option_set_stats�scCs�|jj}|rHt|�dkrHt|�tk	rHt|�}qHn|sat|�dkr�|jjsvd}n*|jjj|jjj	|jjj
f}tdt|��ntdt|��|j
||jj�|_dS(NR�iiis(Got server version "%s" from the server
s�Note! Workbench uses server version '%s' from the server instance profile. Make the entry empty to auto pick version from the server.
(iii(Rktserver_versionR_R3ttupleRRlttarget_versiontmajorNumbertminorNumbert
releaseNumberRRttransform_opts_fort	target_ostpossible_options(RQR�((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pyR��s	*cCs|jS(N(R�(RQ((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytget_possible_options�scCs�tdt|�|f�d}i}i|_d\}}}}xtjD]\}	}
}i}g}
x�|
D]�\}}i}||d<g}xR|D]J}d|kr�t||d�s�|d7}q�q�nd|krt|d|�r|d7}q�qnt|||�}|r�tj|�}|d=|j	|�|j
|�|d7}d|kr�|jd	�d
kr�|j|d�|d<nxP|j
|d�D]}||	|f|j|<q�Wq�td|d�|d7}q�W|jd
d��t|�|d<|
j
|�qmWt|
�|d<||d<||d<|d7}|||	<qKWi|d6|d6|d6|d6|d6|_d||||||fGH|S(NsFiltering options for %s, "%s"
iiR>tversionst
deprecatedR8tdefaultR3tbooleanR�s-Option "%s" skipped because of missing value
RcSst|d|d�S(NR�(R(tr1tr2((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pyt<lambda>�stcontrolsR0tpositiontwidthRtaddedtskippedtskipped_no_values�Prepared options set for server version '%s' on '%s' platform: added - %i, skipped - %i, skipped with no value - %i, deprecated - %i(iiii(RR_R�toptst	opts_listR'R-RMtcopytupdateRPRDtnormalize_booltoption_alt_namesR
tsortR�R�(RQR�R?tposttabsR�R�R�tno_valuettabnamettabcontR�tnew_tab_contR0tgrpnametgrpconttgrpR�RERFtcoptR�((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pyR��sZ	


	
	


!


,cCsG|jdd�|jdd�g}||krC|jd|�n|S(NR�t_i(treplacetinsert(RQR�tnames((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pyR��s$cCs5d}|jj|�}|dk	r1|d}n|S(Ni(RR�RD(RQR�todeftoption((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytget_option_defs

cCs|jj|d�dS(Ni(NNN(R�RDR(RQR�((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytget_option_location
scCs,g|jj�D]}||kr|^qS(N(R�tkeys(RQtfragmentR�((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytget_options_containingscCs�t}t|�tkr!|}n�|rZt|�tksKt|�tkrZ|j�}n|dks�|dks�|dks�|dkr�t}nE|dks�|dks�|dks�|dks�|d	kr�t}n|S(
Ntcheckedtonttruet1t	uncheckedtofftfalseR�t0(RR3RUR_tunicodetlowerR(RQRFR"((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pyR�s	*0	<	cCs�|j|�}d}d}|dk	r�d|krU|d}|rU|j�}qUnd|kr�|d}|r�t|�tk	r�|j�}q�n|dkr�|j|�}q�n||fS(NR3R�R�(R�RR�R3RUR�(RQR�t
option_deftoption_typetoption_default((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytget_option_type_and_default)s

cCs�||_t|_yt|�Wn7tk
rS}|jtjkrZt|_qZnnXg}d}y|j	|�}Wn^t
tfk
r�}|jtjkr�|}q�|r�tj
dd|ddd�q�dSnX|j|�|r�|�ndS(NsRead Configuration Files\Configuration file '%s' can not be found. New file will be created when changes are applied.R�R�(R�RR�topentIOErrorterrnotEACCESRRtread_mysql_cfg_filetOSErrortENOENTRtshow_warningtparse_file_contents(RQR�twarn_missingterrorR�t	exceptionte((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytopen_configuration_file>s0				
cCs�td|�d}|js�yLtd�|jjj|dtjdd�}tdt|p`g��Wq�t	k
r�}td|�t
|_q�Xn|jrBtd�|jjjd�}|dk	r�tj
}ny)td	�|jjj|||�}WqBtk
r>}td
|�|jjjd�|�qBXntd�|r{g|jd�D]}|jd
�^qbSgSdS(NsReading config file "%s"
sTrying to read without sudo
tas_usert
user_passwords%i bytes read from file
s8Permissin denied; sudo needed to read config file: "%r"
sTrying to read with sudo
R�sReading...
sInvalid password error: "%r"
sConfig file read
s
s
(R
RR�Rlt
server_helperR�RtCURRENTRR	Rtpassword_handlertget_password_fortADMINRtreset_password_fortsplittrstrip(RQR�R�R
RRterrRR((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pyR_s4	
$	



)c
CsS|sd}n|jjr6dj|jd��}n|jj}t|j�\}}t}x�tr/|j	|�s�|j
|�n|j|�r�d}t
j}n$|jjjdd|�}t
j}y |j|j|d||�Wn>tk
r*}|jjjd�|r!t}q`n|�nXPq`W|j|j�}	|j|	�dS(NR�s
s
R�tcached_onlys.wba.bak(RkRmR^RRlRR
R�Rtcheck_path_existstcreate_directorytcheck_dir_writableRRRRRRtset_file_content_and_backupRRRRR	(
RQtuser_modified_file_contentthelpert	directorytfilenamet	first_trytpasswordRRtdata((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytsave_config_file�s4			 
cs�i|_t|�tks-t|�tkr9||_ntd��|jj}|s`t}nt	d|�g|_
|jdk	ri}d}xWt
|j�D]F\}}|jd�}t|�dkr�|ddk	r�|ddk	r�|ddkr'|jd	�}|j
j||f�q�|j�jd
�dkrEq�|jd�}t}	|dkr{t|�}t}	n||kr�|| j�}
d}|
|kr�||
}nt|�}|||
<||d
}|	r�|j||�n|j|t�|
jd�rp|j|
d�}
|
r�|
jd�|
kr�t||d�}|||
d<|||
<q�q�|j|
�}
|
dk	r�|
jd�dkr�|	r�|j|�}nt}t|||�}||d|
<q�q�q�q�W||_t|j
d��|_
n|jj��dkr1t�n|jjr�t�fd�|j
D��r�tjdd�ddd�|j
jt|j��f�|jjd�d�ndS(Ns�Internal error. File data passed is not in expected format. This is a bug, we would greatly appreciate if you file a bug report at http://bugs.mysql.com.s'Parsing options only from section "%s"
R�s 
	it#t;t[s[]s!includeR�i����isskip-it
disabledbyR3R�cSst|d|d�S(Ni(R(R`ty((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pyR�sc3s!|]\}}|�kVqdS(N((t.0t_linet_section(RO(sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pys	<genexpr>ssRead Configuration Files�Configuration file did not contain section [%s], so a new one was added.
If that is not correct, please fix the section name in the Server Instance Editor and reopen the administrator.R�s]
( R�R3tlistR�R�R�Rktconfig_file_sectiontdefault_sectionR
R�R�RRAtstripRRPR�tfindRRRNt
startswithR�RDR�R�tsortedt
admin_enabledtanyRR(RQt	file_datatfilter_by_sectiontcur_file_original_optstcurrent_sectionRGRRtslineR�t	has_valuetoption_nameR�RFR�((ROsPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pyR	�sx	$		2	

!		,	
c
Cs�td|||f�|dkr,t}n|dkr_|jjdk	rV|jjnt}n|j|�}|jd�}|jj|�}|jd�}|dkr|jd�}t	d||||||f�|dk	r=||jkr=t
jt||d�}	|j||	_
|	|j|<t	d|�q=n|dkr�||jkrs|j|=t	d	|�n|tkrt
jt||d�}	t	d
|t|	j�f�|	|j|<qq�|j|jd��}
|
tkr�t
jt||d
�}	||	_
|	|j|<q�n�||jkrl|j|}|j|kr�|jtkri|j|=qiq�not
jt|||�}	|jj|�r�|j|j|kr�|j|}t|	_||	_
n|	|j|<dS(Ns Adding option: "%s", "%r", "%s"
R�R3R*R�R�stadding boolean option "%s" with value = "%r", default = "%r", orig_opt = "%s", disabledby = "%r", definition = "%s"
sadded delete ci for "%s"
s%Removing existing changeset for "%s"
s'Adding ci=ADD for "%s" with value "%s"
i(N(N(R
RRRkR0R1R�RDR�RR�R�R�R�R�R�R_RFR�RWRR�ROR�thas_key(
RQR�RFROR�R�R�R*R�tcitorig_opt_valuetexisting_ciRE((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytoption_added)sT	' 

	
(
	cCsAtd|�|jj|�}|rC|jtkrC|j|=dS|j|�}|jd�}|dkr�|jd�}|jd�}d}|jj|�}	|jd�}
td||	|
|f�|	dkri|
dkr2|dkr�dGHqf||jkrft	j
t||d�}||j|<qfq�|tkr�t	j
t|||
�}||j|<q�q=d	GH|
dkr|dkr�d
GHq�t	j
t||d�}|jj|�|_
||j|<||jkr�t	j
t||d�}||j|<q�q=|
dkrKt	j
t||d�}|jj|�|_
||j|<q=|tkrrt	j
t|||
�}nt	j
t|||
�}|jj|�|_
||j|<n�|jj|�r�d}t	j
t|||�}|j||_
||j|<n>|jj|�r=|j|}|j|kr=|j|=q=ndS(
Nsopt removed "%s"
R3R�R*R�R�s>removing "%s", orig_opt = "%s", off_value = "%r", odef = "%s"
s1Error, option definition does not have disabledbysgot orig opts0Error, option definition does not have disbledbyR�tdel(R
R�RDR�R�R�RR�RR�R�RR�R�R�R?RO(RQR�ROteciR�R�R*R�R@R�t	off_valueRF((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytoption_removedksh


cCs�td||f�t|�tk	r:dG|GdG|GHn|jj|�r�|j|}tjt|||�}||_||j	|<ntjt
|||�|j	|<dS(NsOption changed: "%s", "%r"
sWarning setting optionsfrom non-tuple value(R
R3R�R�R?R�R�R�R�R�R�(RQR�RFRORER@((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytoption_changed�s
	cCsbg}xU|jj�D]D\}}|j�}|j|kr|jj|�ro|j||j|jf�qZ|j|�}|dkr�|j
d�r�|j|d�}n|dk	r|jd�dkrt|�}|dkr�d}n|j||f�qZt
|j�d�r>|j||j�j�f�qZ|j||j�f�qqW|S(Nsskip-iR3R�R*R�R2(R�t	iteritemsR2ROR�R?RPRFR�RR4RDR_thasattr(RQROtoptionsR�RER�tovalue((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytget_options�s$ !	" cCsg|jD]}|d^q
S(Ni(R�(RQR`((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytget_sections�scCs�ddg}t|j�d}x}t|j�D]l\}}|d|kr/|d|d<||kr�|j|ddd|d<q�t|j�|d<q/q/W|S(Ni����ii(RR�RAR�(RQtsection_nameR"tsections_nrRGtsec((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytget_section_line_nr_range�s c	Cs�i}xP|j�D]B}x9|dD]-}x$|dD]}|d||d<q5Wq$WqWd}x|jj�D]n}|j|j�}|s�qon|jttfkro|dkr�|jdkr�|d|j7}q�q�qoqoW|S(NR0R�R3R�R�R"s+Option '%s' is blank, but should be a path
(t
itervaluesR�RDR�R�R�R�RF(	RQRKtoption_typestitemtgrouptcontrolterrorstchangetotype((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytvalidate_changes�sc s|jdkrdStg|jD]#}|d|j|d�f^q ��d�}�fd�}t|jj�|�}g}tj	|j
�}x�|D]�}|j|j�\}}	t
|j�tks�t
|j�tkr�t||j�|_n||j�|_|jtkr�td|�t|j�}
t|j�}x�tt|
|��D]w}|jj|�}
td|
|jf�d}|j|dk	r�dt|j|�d}n|j|||
<q^W|
|kr4x�t|
|�D]8}tjt|j|j|j|�}|j |�q�WqG|
|krGxgt||
�D]S}d||jj|�<tjt!|j|j|jj"|��}|j |�qPWqGq�|jt!krx�|jD]B\}}|d	kr�|	t#kr�|jd
||<q�d||<q�Wq�|jtkr��j$|j�}|r?|ddkr?t
|j�tkspt
|j�tkr�|d}x�|jD]^}|dk	r�|j%||jd|j&d�d�n|j%||jd�|d7}q�WqD|jdk	r!|j%|d|jd|jd�qD|j%|d|jd�qGd
GHq�q�Wx�|D]�}|jtkrR�|j}|ddkr�t
|j�}|tks�|t'kr�|j%|d|jd|jd�q|j%|d|jd|jd�qd
GHqRqRWt(j)�}t*j+j,|d�|_-t.|j-d�}d}|j/j0rZd}nx.|D]&}|j1d�|}|j2|�qaW|j3�t4||j5|j/�|_6g|D]$}|j|j|j|jf^q�}g|D]$}|j|j|j|jf^q�}||7}d}xLt7j8d|j
d|dd�D])}||j9d�rb|n|d7}qDW|s�d}nd}y,t.|j-d�}|j:�}|j3�Wn.t;k
r�}d|j-dt|�}nX|j6j<|||j=�dS(NicSs+|}t|�tkr't|�}n|S(N(R3RUR1(R$trv((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytmap_boolscs\t|j|j�}|jtkrX|dkrXt�|jd�|jd�}n|S(Ni(RR�R�RO(R`R+R�(tsections_map(sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytsort_fns(sApplying change "%r"
sline_nr "%r", "%r"
s
s = R�R�s = 0
it sCan't add optionsmysql_workbench_config.tempsw+bs
tatbR�sThere are no changes.R�sCan not read file (>R�RtdictR�RRR5R�RSR�tdeepcopyR�RR�R3RFR/R�tmapR�R�R
RR�trangeRRRRR_R�R�R�RORPR�RWRRDR�R2R�ttempfilet
gettempdirtostpathR^ttemp_file_nameRRkRmRtwriteR�RgRlR�tdifflibtunified_difftendswithtreadt
BaseExceptionR�R&( RQR`R]R_RYtsecond_pass_changesR�tcR�R�torig_values_lentmodified_values_lenRGtline_nrtrvalueR@RRRFtlines_rangetlinenoR$tvtypettempdirtoutfteoltltchanges_for_applytsecond_pass_changes_for_applyR�tdR�R
((R^sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pyt
apply_changes	s�
9	
*%**
+)

))	

11
('	cCscy#|j|j�}|j|�Wn9tk
r^}tjdd|j|fddd�nXdS(Ns$Could not Re-read configuration files&An error occurred while reading %s:
%sR�R�(RR�R	R�RR�(RQR%R�((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytrevert�s	(N(ReRfR�RSR�R�R�R�R�R�R�R�R�R�RRRRR&RR	RCRGRHRMRNRRR[R�R�(((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pyR�vs4						?							!	#	8o	B	O						�cCsdS(N((tctxtlines((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytrecreate_cfg_with�scCs�|d}|d}d}d|kr3|d}ntd�}|rR||d<n|jd}|jjd|f�|jjd|d�dS(Ntcfg_betsettingsR�ssys.config.sectioniR)s]
(Rt
__import__t
serverInfoR�RPR�(R�R�R�R�RO((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytinit_cfg_be�s




cCsDd�}tj|d<|t_tt|d�|d�|d<dS(NcSs||�dS(N((RQR�R�R&((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pyR��st
saved_showR�RlR�(RgR�R�R(R�R�((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytunit_test_0�s	
	cCsStdf}d}|d}t|jd��dk}|sFd}n|||fS(NsChecking clean config beR�R�Ris6Clean config be has non-zero number of stored options.(ReRRM(R�R�R�R�tcheck((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytunit_test_1�s
	cCs�tdf}t}d}|d}d
}xD|D]<}|j|�}|tkr/|d|d7}t}q/q/Wd}xD|D]<}|j|�}|tkr||d|d7}t}q|q|W|d}|||fS(NsChecking normalize_boolR�R�R�R�R�sFailed norm to True from 's'
R�R�R�sFailed norm to False from '(scheckedsonstrue(s	uncheckedsoffsfalseR�(ReRR�R(R�R�tstatusR�R�R8R$tnv((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytunit_test_2�s$





c
Cs
tdf}t}d}|d}|d}tjjtj�d�}||jd<|j|�idd6d	d
6}xL|jd�D];\}}	||kr�|	||kr�t	}n||=q�q�Wt
|�dkrt	}d
dj|j��d|}n|||fS(Ns)Checking load of values from config file.R�R�R�s'test-files/wb_admin_config_file_be3.cnfssys.config.paths
'/usr/lib'R%t3306tportRisValues t,s were not parsed from config (ReRRiRjR^tgetcwdR�t
parse_fileRMRRR�(
R�R�R�R�R�R�R�ttest_vectorRERF((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytunit_test_3�s$



	$c	s�tdf}t}d}�d}tjjtj�d�|jd<�tt�d��d��d<}�|_	t
����fd�}|jd	dd�|j�|d	d
d�\}}|s�t
}||7}n|jd	dd�|j�|d	d
d�\}}|s.t
}||7}n|jd	d�|j�t|jd��dkrvt
}|d7}n|||fS(NsWorking with simple options.R�R�s tmp/wb_admin_config_file_be4.cnfssys.config.pathRlR�cs�t}d}tt�d��d��d<}t���|_|j�t|jd��}||ko||||ks�t}|}n||fS(NR�R�RlR�R(	RR�RR�R�R�RcRMR(R�RFtmessageR�R�R�RK(R�R�(sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pyt
verify_options%
	
	R�t3307RsAdding option failed
t3308sChanging option failed
isOption remove failed(R�(R�(ReRRiRjR^R�R�R�RR�R�RCR�RRHRGRRM(	R�R�R�R�R�R�R�t	curstatusR�((R�R�sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytunit_test_4s6
&%	






c	Cs?tdf}t}d}|d}tjjtj�d�|jd<}tt|d�|d�|d<}t	|�||_
|j�|jdd	�|j
�|j�d
|jkr�t}|d7}nd|jkr�t}|d7}n@|jjd�}|jd
�}|dkr2t}|d7}n|||fS(NsCRemoving boolean with default true and disabledby (opt not in file)R�R�s tmp/wb_admin_config_file_be5.cnfssys.config.pathRlR�t	partitionRsskip-partitions'skip-partition was not added on disables%partition was not added. Check parseriR*sRBroken parser. Partition must have value 'disabledby' when skip-partition is used!(ReRRiRjR^R�R�R�RR�R�R�RGR�R�RRDRW(	R�R�R�R�R�R�R�RWRF((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytunit_test_58s0
&%
	





c	Cs=tdf}t}d}|d}tjjtj�d�|jd<}tt|d�|d�|d<}t	|�||_
|j�|jdd	�|j
�|j�|jjd�}|dkr�t}|d
7}nQ|jd�}|jd�|dkr0t}|d
t|�d|d7}n|||fS(Ns4Removing boolean with default true (opt not in file)R�R�s tmp/wb_admin_config_file_be6.cnfssys.config.pathRlR�s	temp-poolRs,temp-pool is not in file, or was not parsed.iR�sFValue written in file is not the same as the off value in definition. s, (ReRRiRjR^R�R�R�RR�R�R�RGR�R�RDRRR�RWR_(	R�R�R�R�R�R�R�RER�((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytunit_test_6Ws*
&%
	



#cCs�tdf}t}d}|d}tjjtj�d�|jd<}tt|d�|d�|d<}t	|�||_
|j�|jdd	�|j
�|j�|jjd�}|dk	r�t}|d
7}n|||fS(Ns:Switching off boolean with default false (opt not in file)R�R�s tmp/wb_admin_config_file_be7.cnfssys.config.pathRlR�s	core-fileRs<Bool option with default false was added to file on turn-off(ReRRiRjR^R�R�R�RR�R�R�RGR�R�RDRR(R�R�R�R�R�R�R�RE((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytunit_test_7ss"
&%
	



c	Cs�tdf}t}d}|d}tjjtj�d�|jd<}tt|d�|d�|d<}t	|�||_
|j�|jddd
�|j
�|j�|jjd�}|dkr�t}|d7}n�|j|jd��tkrt}|d
7}n�|jdd
�|jjd�}|jtkrWt}|d7}n|j
�|j�t|j�dkr�t}|d7}n|||fS(Ns6Switching off boolean with default false (opt in file)R�R�s tmp/wb_admin_config_file_be8.cnfssys.config.pathRlR�s	core-fileR�Rs,Failed to add option for further remove testisValue has no on values@Removing opt with default = false should remove option from files Option was not removed from file(R�(ReRRiRjR^R�R�R�RR�R�R�RCR�R�RDRRR�RWRGR�R�R�R(	R�R�R�R�R�R�R�RER@((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytunit_test_8�s<
&%
	








cCs6tdf}t}d}|d}tjjtj�d�|jd<}tt|d�|d�|d<}t	|�||_
|j�|jddd
�|j
�|j�|jjd�}|dkr�t}|d7}nG|j|jd��tkrt}|d
7}n|jdd
�|jjd�}|jtkrWt}|d7}n|jjd�}|jtkr�t}|d7}n|j
�|j�|jjd�}	|jjd�}
|	dkr�t}|d7}n(|	jd�dkr
t}|d7}n|
dkr)t}|d7}n|||fS(Ns@Removing boolean with default false and disabledby (opt in file)R�R�s tmp/wb_admin_config_file_be9.cnfssys.config.pathRlR�tnewR�Rs,Failed to add option for further remove testisValue has no on valuesJRemoving opt 'new' with disabledby=skip-new should remove option from filesskip-newsNRemoving opt 'new' with disabledby=skip-new should add skip-new option to files<new is not added to original_opts to turn off checkbox in uiR*s[new with value = disabledby was not added to original_opts to indicate presense of skip-news:skip-new is not added to original_opts after apply_changes(R�(ReRRiRjR^R�R�R�RR�R�R�RCR�R�RDRRR�RWRGR�R�R�R�(R�R�R�R�R�R�R�RER@R�tskip_new((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytunit_test_9�sT
&%
	











c	Cstdf}t}d}|d}tjjtj�d�|jd<}tt|d�|d�|d<}t	|�||_
|j�|jdd
d
�|j
�|j�t}x0|jD]%}d|jd�kr�t}Pq�q�W|st}|d7}n|||fS(Ns9Checking turn on of special skip option (skip-networking)R�R�s!tmp/wb_admin_config_file_be10.cnfssys.config.pathRlR�sskip-networkingR�Rs 
	
s#skip-networking was written wrongly(R�(ReRRiRjR^R�R�R�RR�R�R�RCR�RR�R2(	R�R�R�R�R�R�R�tfoundRR((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytunit_test_10�s*
&%
	



cCs tdf}t}d}|d}tjjtj�d�|jd<}t|d�}|jd�|jd�|j	�t
t|d�|d	�|d
<}t|�||_
|j�|jddd
�|j�|j�t|jdjd�krt}|d7}n|||fS(NsGChecking turn on bool opt = false (def != false, on=name) (opt in file)R�R�s!tmp/wb_admin_config_file_be11.cnfssys.config.pathtws	[mysqld]
senable-named-pipe = 0
RlR�senable-named-pipeR�RisValue is not True(R�(ReRRiRjR^R�R�RRlR�R�RR�R�R�RCR�R�RWR(R�R�R�R�R�R�tfR�((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytunit_test_11s(
&


%
	



cCs tdf}t}d}|d}tjjtj�d�|jd<}t|d�}|jd�|jd�|j	�t
t|d�|d	�|d
<}t|�||_
|j�|jddd
�|j�|j�t|jdjd�krt}|d7}n|||fS(Ns>Checking turn on bool opt with disabledby=skip-* (opt in file)R�R�s!tmp/wb_admin_config_file_be12.cnfssys.config.pathR�s	[mysqld]
s	skip-new
RlR�R�R�Rismerge is not set.(R�(ReRRiRjR^R�R�RRlR�R�RR�R�R�RCR�R�RWR(R�R�R�R�R�R�R�R�((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytunit_test_12s(
&


%
	



c
Cs1tdf}t}d}|d}tjjtj�d�|jd<}t|d�}|jd�|j	�|d}|j
}d|_
tt|d�|d�|d<}	t
|�||	_|	j�|	jd
d�|	j�|	j�d|	jjd
�krt}|d7}n||_
|||fS(NsDisabling innodbR�R�s!tmp/wb_admin_config_file_be13.cnfssys.config.pathR�s	[mysqld]
RliiiR�tinnodbRs,innodb option appeared in file after removal(iii(ReRRiRjR^R�R�RRlR�RR�RR�R�R�RGR�RR�RDR(
R�R�R�R�R�R�R�RlRR�((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytunit_test_137s.
&


		%
	



	c
Cs1tdf}t}d}|d}tjjtj�d�|jd<}t|d�}|jd�|j	�|d}|j
}d|_
tt|d�|d�|d<}	t
|�||	_|	j�|	jd
d�|	j�|	j�d|	jjd
�krt}|d7}n||_
|||fS(NsDisabling innodbR�R�s!tmp/wb_admin_config_file_be13.cnfssys.config.pathR�s	[mysqld]
RliiiR�R�Rs,innodb option appeared in file after removal(iii(ReRRiRjR^R�R�RRlR�RR�RR�R�R�RGR�RR�RDR(
R�R�R�R�R�R�R�RlRR�((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pyt
unit_test_13_Vs.
&


		%
	



	cCsjtdf}t}d}|d}tjjtj�d�|jd<}t|d�}|jd�|j	�|d}|j
}d|_
tt|d�|d�|d<}	t
|�||	_|	j�|	jd
dd�|	j�|	j�|	jjd
�}
|	jGHd|
kr,t}|d7}n(d|
jd�krTt}|d7}n||_
|||fS(Ns<Disabling innodb. File has bool innodb; WBA uses enum innodbR�R�s!tmp/wb_admin_config_file_be14.cnfssys.config.pathR�s[mysqld]
innodb
RliiiR�R�tOFFRs&innodb option disappeared after changeis$innodb option was not changed to OFF(iii(sOFF(ReRRiRjR^R�R�RRlR�RR�RR�R�R�RHR�R�RDRRRW(R�R�R�R�R�R�R�RlRR�R�((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytunit_test_14us8
&


		%
	




	cCs'|dt_d|kr#|d=ndS(NR�R�(RgR�(R�((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pytunit_test_10000�s
(BR�RRbRiRgRmR.RBR�RsRRRRRRRt	wb_commonRRR	R
Rt
workbench.logRR
RRtwb_server_controlRtworkbench.utilsRtpysourceR]R1RR'R-R7RMtobjectRNR�R�R�RgR�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�(((sPC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules\wb_admin_config_file_be.pyt<module>sf4("
		#			81����3					
			5				&	5						%

Youez - 2016 - github.com/yon3zu
LinuXploit