BUG 8615 "Duplicacion de campos en el password" SOLVED

- en realidad no duplica el password, sino que muestra el mismo pero encriptado
- para evitar este tipo de confusiones decidimos dejar vacio el password asi como está en el editor de usuarios, este solo se solicitara si no tiene guardada una contraseña en el servidor o si la direccion del servidor ha cambiado.
This commit is contained in:
Alvaro Campos
2012-03-07 18:01:37 -04:00
parent a652e2f683
commit 60a8af93cb
10 changed files with 149 additions and 101 deletions

View File

@@ -4166,9 +4166,10 @@ class Cases {
if ($aConfiguration['CFG_VALUE'] != '') {
$aConfiguration = unserialize($aConfiguration['CFG_VALUE']);
$passwd = $aConfiguration['MESS_PASSWORD'];
if(strpos( $passwd, 'hush:' ) !== false){
list($hush, $pass) = explode(":", $passwd);
$aConfiguration['MESS_PASSWORD'] = G::decrypt($pass,'EMAILENCRYPT');
$passwdDec = G::decrypt($passwd,'EMAILENCRYPT');
if (strpos( $passwdDec, 'hash:' ) !== false) {
list($hash, $pass) = explode(":", $passwdDec);
$passwd = $pass;
}
} else {
$aConfiguration = array();

View File

@@ -330,9 +330,10 @@ class spoolRun {
$oPHPMailer->Port = $this->config['MESS_PORT'];
$oPHPMailer->Username = $this->config['MESS_ACCOUNT'];
$passwd = $this->config['MESS_PASSWORD'];
if(strpos( $passwd, 'hush:' ) !== false){
list($hush, $pass) = explode(":", $passwd);
$this->config['MESS_PASSWORD'] = G::decrypt($pass,'EMAILENCRYPT');
$passwdDec = G::decrypt($passwd,'EMAILENCRYPT');
if (strpos( $passwdDec, 'hash:' ) !== false) {
list($hash, $pass) = explode(":", $passwdDec);
$passwd = $pass;
}
$oPHPMailer->Password = $this->config['MESS_PASSWORD'];
$oPHPMailer->From = $this->fileData['from_email'];
@@ -383,9 +384,10 @@ class spoolRun {
$oPHPMailer->Port = $this->config['MESS_PORT'];
$oPHPMailer->Username = $this->config['MESS_ACCOUNT'];
$passwd = $this->config['MESS_PASSWORD'];
if(strpos( $passwd, 'hush:' ) !== false){
list($hush, $pass) = explode(":", $passwd);
$this->config['MESS_PASSWORD'] = G::decrypt($pass,'EMAILENCRYPT');
$passwdDec = G::decrypt($passwd,'EMAILENCRYPT');
if (strpos( $passwdDec, 'hash:' ) !== false) {
list($hash, $pass) = explode(":", $passwdDec);
$passwd = $pass;
}
$oPHPMailer->Password = $this->config['MESS_PASSWORD'];
$oPHPMailer->From = $this->fileData['from_email'];
@@ -468,9 +470,10 @@ class spoolRun {
$send->setUsername($this->config['MESS_ACCOUNT']);
$passwd = $this->config['MESS_PASSWORD'];
if(strpos( $passwd, 'hush:' ) !== false){
list($hush, $pass) = explode(":", $passwd);
$this->config['MESS_PASSWORD'] = G::decrypt($pass,'EMAILENCRYPT');
$passwdDec = G::decrypt($passwd,'EMAILENCRYPT');
if (strpos( $passwdDec, 'hash:' ) !== false) {
list($hash, $pass) = explode(":", $passwdDec);
$passwd = $pass;
}
$send->setPassword($this->config['MESS_PASSWORD']);
$send->setReturnPath($this->fileData['from_email']);
@@ -501,9 +504,10 @@ class spoolRun {
$aConfiguration = $oConfiguration->load('Emails', '', '', '', '');
$aConfiguration = unserialize($aConfiguration['CFG_VALUE']);
$passwd = $aConfiguration['MESS_PASSWORD'];
if(strpos( $passwd, 'hush:' ) !== false){
list($hush, $pass) = explode(":", $passwd);
$aConfiguration['MESS_PASSWORD'] = G::decrypt($pass,'EMAILENCRYPT');
$passwdDec = G::decrypt($passwd,'EMAILENCRYPT');
if (strpos( $passwdDec, 'hash:' ) !== false) {
list($hash, $pass) = explode(":", $passwdDec);
$passwd = $pass;
}
if( $aConfiguration['MESS_ENABLED'] == '1' ) {
$this->setConfig(array (

View File

@@ -628,10 +628,10 @@ class wsBase
$aSetup = System::getEmailConfiguration();
$passwd =$aSetup['MESS_PASSWORD'];
if(strpos( $passwd, 'hush:' ) !== false)
{
list($hush, $pass) = explode(":", $passwd);
$aSetup['MESS_PASSWORD'] = G::decrypt($pass,'EMAILENCRYPT');
$passwdDec = G::decrypt($passwd,'EMAILENCRYPT');
if (strpos( $passwdDec, 'hash:' ) !== false) {
list($hash, $pass) = explode(":", $passwdDec);
$passwd = $pass;
}
$oSpool = new spoolRun();
$oSpool->setConfig(array(

View File

@@ -725,9 +725,10 @@ class Xpdl extends processes
$emailArray = $oConfiguration->load('Emails','','','','');
$arrayFrom = unserialize($emailArray['CFG_VALUE']);
$passwd = $arrayFrom['MESS_PASSWORD'];
if(strpos( $passwd, 'hush:' ) !== false){
list($hush, $pass) = explode(":", $passwd);
$arrayFrom['MESS_PASSWORD'] = G::decrypt($pass,'EMAILENCRYPT');
$passwdDec = G::decrypt($passwd,'EMAILENCRYPT');
if (strpos( $passwdDec, 'hash:' ) !== false) {
list($hash, $pass) = explode(":", $passwdDec);
$passwd = $pass;
}
$from = $arrayFrom['MESS_ACCOUNT'];
if($to == 'ext'){

View File

@@ -143,9 +143,10 @@ class AppNotes extends BaseAppNotes {
if ($aConfiguration['CFG_VALUE'] != '') {
$aConfiguration = unserialize($aConfiguration['CFG_VALUE']);
$passwd = $aConfiguration['MESS_PASSWORD'];
if(strpos( $passwd, 'hush:' ) !== false){
list($hush, $pass) = explode(":", $passwd);
$aConfiguration['MESS_PASSWORD'] = G::decrypt($pass,'EMAILENCRYPT');
$passwdDec = G::decrypt($passwd,'EMAILENCRYPT');
if (strpos( $passwdDec, 'hash:' ) !== false) {
list($hash, $pass) = explode(":", $passwdDec);
$passwd = $pass;
}
} else {
$aConfiguration = array();

View File

@@ -25,7 +25,8 @@ function verifyFields(oForm) {
} else {
if ($('form[MESS_RAUTH]').checked) {
oAuxP = $('form[MESS_PASSWORD]').value;
if (oAuxP == '') {
oAuxPH = $('form[MESS_PASSWORD_HIDDEN]').value;
if ((oAuxP == '')&&(oAuxPH == '')) {
new leimnud.module.app.alert().make({
label : G_STRINGS.ID_PASSWORD_REQUIRED
});
@@ -77,7 +78,12 @@ function testConnection() {
params = 'srv=' + getField('MESS_SERVER').value.trim();
params += '&port='+ ((getField('MESS_PORT').value.trim() != '') ? getField('MESS_PORT').value : 'default');
params += '&account=' + getField('MESS_ACCOUNT').value;
if (getField('MESS_PASSWORD_HIDDEN').value =='') {
params += '&passwd=' + getField('MESS_PASSWORD').value;
}
else {
params += '&passwd=' + getField('MESS_PASSWORD_HIDDEN').value;
}
params += '&auth_required='+ (getField('MESS_RAUTH').checked ? 'yes' : 'no');
params += '&send_test_mail='+ (getField('MESS_TEST_MAIL').checked ? 'yes' : 'no');
params += '&mail_to=' + $('form[MESS_TEST_MAIL_TO]').value;
@@ -271,7 +277,13 @@ function initSet() {
}
var verifyData = function(oForm) {
if (getField('MESS_ENABLED').checked) {
if (getField('MESS_RAUTH').checked) {
if (getField('MESS_PASSWORD') == '') {
getField('MESS_PASSWORD').value = getField('MESS_PASSWORD_HIDDEN').value;
}
}
switch (getField('MESS_ENGINE').value) {
case 'PHPMAILER':
case 'OPENMAIL':

View File

@@ -73,9 +73,10 @@ switch ($request) {
$port = ($_POST['port'] == 'default')? 25: $_POST['port'];
$user = $_POST['account'];
$passwd = $_POST['passwd'];
if(strpos( $passwd, 'hush:' ) !== false){
list($hush, $pass) = explode(":", $passwd);
$passwd = G::decrypt($pass,'EMAILENCRYPT');
$passwdDec = G::decrypt($passwd,'EMAILENCRYPT');
if (strpos( $passwdDec, 'hash:' ) !== false) {
list($hash, $pass) = explode(":", $passwdDec);
$passwd = $pass;
}
$step = $_POST['step'];
$auth_required = $_POST['auth_required'];

View File

@@ -32,9 +32,15 @@ $aFields['MESS_RAUTH'] = isset($_POST['form']['MESS_ENABLED']) ?is
$aFields['MESS_PORT'] = isset($_POST['form']['MESS_ENABLED']) ?$_POST['form']['MESS_PORT']: '';
$aFields['MESS_ACCOUNT'] = isset($_POST['form']['MESS_ENABLED']) ?$_POST['form']['MESS_ACCOUNT']: '';
$aFields['MESS_PASSWORD'] = isset($_POST['form']['MESS_ENABLED']) ?$_POST['form']['MESS_PASSWORD']: '';
if(strpos( $aFields['MESS_PASSWORD'], 'hush:' ) === false){
$aFields['MESS_PASSWORD_HIDDEN'] = isset($_POST['form']['MESS_ENABLED']) ?$_POST['form']['MESS_PASSWORD_HIDDEN']: '';
if ($aFields['MESS_PASSWORD_HIDDEN'] !='') {
$aFields['MESS_PASSWORD'] = $aFields['MESS_PASSWORD_HIDDEN'];
}
$aFields['MESS_PASSWORD_HIDDEN'] = '';
$aPasswd = G::decrypt($aFields['MESS_PASSWORD'],'EMAILENCRYPT');
if ((strpos( $aPasswd, 'hash:') !== true) && ($aFields['MESS_PASSWORD'] != '')) { // for plain text
$aFields['MESS_PASSWORD'] = 'hash:'.$aFields['MESS_PASSWORD'];
$aFields['MESS_PASSWORD'] = G::encrypt($aFields['MESS_PASSWORD'],'EMAILENCRYPT');
$aFields['MESS_PASSWORD'] = 'hush:'.$aFields['MESS_PASSWORD'];
}
$aFields['MESS_BACKGROUND'] = isset($_POST['form']['MESS_ENABLED']) ?isset($_POST['form']['MESS_BACKGROUND']) ? $_POST['form']['MESS_BACKGROUND'] : '': '';
$aFields['MESS_EXECUTE_EVERY'] = isset($_POST['form']['MESS_ENABLED']) ?$_POST['form']['MESS_EXECUTE_EVERY']: '';

View File

@@ -39,6 +39,11 @@
<tr>
<td class="FormLabel" width="{$form_labelWidth}"><font color="red">* </font>{$MESS_PASSWORD}</td>
<td class="FormFieldContent" width="{$form_fieldContentWidth}">{$form.MESS_PASSWORD}</td>
</tr>
<tr>
<tr>
<td class="FormLabel" width="{$form_labelWidth}">{$MESS_PASSWORD_HIDDEN}</td>
<td class="FormFieldContent" width="{$form_fieldContentWidth}">{$form.MESS_PASSWORD_HIDDEN}</td>
</tr>
<tr>
<td class="FormLabel" width="{$form_labelWidth}"></td>

View File

@@ -34,6 +34,10 @@
<en>SMTP Password</en>
</MESS_PASSWORD>
<MESS_PASSWORD_HIDDEN type="hidden" size="35" maxlength="100">
<en></en>
</MESS_PASSWORD_HIDDEN>
<MESS_TEST_MAIL type="checkbox" value="1">
<en>Send a test mail</en>
</MESS_TEST_MAIL>
@@ -79,6 +83,19 @@
<JS type="javascript">
<![CDATA[
leimnud.event.add(getField('MESS_SERVER'), 'change', function() {
getField('MESS_PASSWORD_HIDDEN').value = '';
getField('MESS_PASSWORD').value = '';
}.extend(getField('MESS_ENABLED')));
leimnud.event.add(getField('MESS_PASSWORD'), 'change', function() {
if (getField('MESS_PASSWORD').value != '') {
getField('MESS_PASSWORD_HIDDEN').value = '';
}
}.extend(getField('MESS_ENABLED')));
getField('MESS_PASSWORD_HIDDEN').value = getField('MESS_PASSWORD').value;
getField('MESS_PASSWORD').value = '';
//settings events
leimnud.event.add(getField('MESS_RAUTH'), 'click', function() {
if (this.checked)