diff --git a/bureau/admin/bro_main.php b/bureau/admin/bro_main.php
index 86d30eaa..94b095a6 100644
--- a/bureau/admin/bro_main.php
+++ b/bureau/admin/bro_main.php
@@ -141,7 +141,6 @@ if (!empty($formu) && $formu) {
}
if (isset($actextract) && $actextract) {
- print _("extracting...")."
\n"; flush();
if ($bro->ExtractFile($R. '/' . $fileextract, $R)) {
echo "
"; print $err->errstr(); diff --git a/bureau/class/m_bro.php b/bureau/class/m_bro.php index 6755f93a..47a72766 100644 --- a/bureau/class/m_bro.php +++ b/bureau/class/m_bro.php @@ -666,25 +666,24 @@ class m_bro { $err->raise("bro",_("File or folder name is incorrect")); return 1; } - $file=escapeshellarg($file); - $dest_to_fix=$dest; - $dest=escapeshellarg($dest); - #$dest_to_fix=str_replace(getuserpath(),'',$dest); - - // TODO new version of tar supports `tar xf ...` so there is no - // need to specify the compression format - exec("tar -xf ".escapeshellarg($file)." -C ".escapeshellarg($dest), $void, $ret); - if ($ret) { - exec("tar -xjf ".escapeshellarg($file)." -C ".escapeshellarg($dest), $void, $ret); + $lfile=strtolower($file); + if (substr($lfile,-4)==".tar" || substr($lfile,-8)==".tar.bz2" || substr($lfile,-7)==".tar.gz" || substr($lfile,-6)==".tar.z") { + // TODO new version of tar supports `tar xf ...` so there is no + // need to specify the compression format + echo "
"._("Uncompressing through TAR")."
"; + passthru("tar -xf ".escapeshellarg($file)." -C ".escapeshellarg($dest)." 2>&1", $ret); } - if ($ret) { - $cmd="unzip -o ".escapeshellarg($file)." -d ".escapeshellarg($dest); - exec($cmd, $void, $ret); + if (substr($lfile,-4)==".zip") { + echo ""._("Uncompressing through UNZIP")."
"; + $cmd="unzip -o ".escapeshellarg($file)." -d ".escapeshellarg($dest)." 2>&1"; + passthru($cmd, $ret); } - if ($ret) { - $cmd="gunzip ".escapeshellarg($file); - exec($cmd, $void, $ret); + if (substr($lfile,-3)==".gz") { + echo ""._("Uncompressing through GUNZIP")."
"; + $cmd="gunzip ".escapeshellarg($file)." 2>&1"; + passthru($cmd, $ret); } + echo ""; if ($ret) { $err->raise("bro",_("I cannot find a way to extract the file %s, it is an unsupported compressed format"), $file); } diff --git a/debian/changelog b/debian/changelog index cab05183..ad7b09d8 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,16 @@ +alternc (3.1.4) oldstable; urgency=low + + * ensure that values in sub_domaines are prefixed by / for hosting subdomains + * adding enable_original_recipient=no to postfix + * adding tail log view + order by DATE last files in logs + * fix ;;; END ALTERNC zones bug + * proposal (not enabled by default) of error.log per vhost + * default message size limit to 100M, no mailbox size limit in postfix + * fix removal of awstats-package crontab in favor of AlternC's one + * fix unzip/untar/ungzip of files from the browser (double escapeshellarg) + + -- Benjamin SonntagMon, 20 Apr 2015 18:00:12 +0200 + alternc (3.1.3) oldstable; urgency=low * fix opendkim listening on *