no database restore with password containing special characters
if you have special characters (like *) in your mysql root password it don't work to restore database.
The problem is here :
./server/plugins-available/backup_plugin.inc.php [line 120] :
$command = "gunzip --stdout ".escapeshellarg($backup_dir.'/'.$backup['filename'])." | mysql -h '".escapeshellcmd($clientdb_host)."' -u '".escapeshellcmd($clientdb_user)."' -p'".escapeshellcmd($clientdb_password)."' '".$db_name."'";
with the use of escapeshellcmd wich change my#pass$word to my#pass*word
It seems that you have change it in [line 1268] : /usr/local/ispconfig/server/cron_daily.php:
$command = "mysqldump -h ".escapeshellarg($clientdb_host)." -u ".escapeshellarg($clientdb_user)." -p".escapeshellarg($clientdb_password)." -c --add-drop-table --create-options --quick --result-file='".$db_backup_dir.'/'.$db_backup_file."' '".$db_name."'";
with the use of escapeshellarg and not escapeshellcmd. (we saw that you have change this line from line 1267 commented and with the escapeshellcmd)
So work for me with : ./server/plugins-available/backup_plugin.inc.php:
$command = "gunzip --stdout ".escapeshellarg($backup_dir.'/'.$backup['filename'])." | mysql -h '".escapeshellcmd($clientdb_host)."' -u '".escapeshellcmd($clientdb_user)."' -p".escapeshellarg($clientdb_password)." '".$db_name."'";
may be doing the same for the 2 others escapeshellcmd in this file, allmost there are no other escapeshellcmd in the others file of this project ...
Thank you for this project. (using it for years)