From 8be328cc16b639ba999f4295b9def9f346e7cd24 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 23 Jun 2023 01:20:46 +0200 Subject: [PATCH] Debug v18 --- htdocs/conf/conf.php.example | 2 ++ htdocs/core/lib/security2.lib.php | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/htdocs/conf/conf.php.example b/htdocs/conf/conf.php.example index bbfc452556f..f186080a2a2 100644 --- a/htdocs/conf/conf.php.example +++ b/htdocs/conf/conf.php.example @@ -128,6 +128,8 @@ $dolibarr_main_db_user=''; // dolibarr_main_db_pass // ===================== // This parameter contains password used to read and write into Dolibarr database. +// If content is 'crypted:...', the password is encrypted/decrypted with dol_encode/dol_decode. +// If content is 'dolcrypt:...', the password is encrypted/decrypted with dolEncrypt/dolDecrypt. // // Examples: // $dolibarr_main_db_pass='myadminpass'; diff --git a/htdocs/core/lib/security2.lib.php b/htdocs/core/lib/security2.lib.php index 17a0657dc0a..3432e67f5df 100644 --- a/htdocs/core/lib/security2.lib.php +++ b/htdocs/core/lib/security2.lib.php @@ -411,20 +411,25 @@ function encodedecode_dbpassconf($level = 0) $val = preg_replace('/["\'][\s;]*$/', '', $val); if (preg_match('/crypted:/i', $buffer)) { // method dol_encode/dol_decode + $mode = 'crypted:'; $val = preg_replace('/crypted:/i', '', $val); $passwd_crypted = $val; $val = dol_decode($val); $passwd = $val; } elseif (preg_match('/^dolcrypt:([^:]+):(.*)$/i', $buffer, $reg)) { // method dolEncrypt/dolDecrypt + $mode = 'dolcrypt:'; $val = preg_replace('/crypted:([^:]+):/i', '', $val); $passwd_crypted = $val; $val = dolDecrypt($buffer); $passwd = $val; } else { $passwd = $val; + $mode = 'crypted:'; $val = dol_encode($val); $passwd_crypted = $val; + // TODO replace with dolEncrypt() + // ... } $lineofpass = 1; } @@ -436,7 +441,7 @@ function encodedecode_dbpassconf($level = 0) $config .= '$dolibarr_main_db_pass=\''.$passwd.'\';'."\n"; } if ($level == 1) { - $config .= '$dolibarr_main_db_pass=\'crypted:'.$passwd_crypted.'\';'."\n"; + $config .= '$dolibarr_main_db_pass=\''.$mode.$passwd_crypted.'\';'."\n"; } //print 'passwd = '.$passwd.' - passwd_crypted = '.$passwd_crypted;