From 2e961201be67cc348e7da22ad7c32c87c9f3d30d Mon Sep 17 00:00:00 2001 From: tbrehm <t.brehm@ispconfig.org> Date: Tue, 11 May 2010 07:00:08 -0400 Subject: [PATCH] Fixed: FS#1186 - Error in Installer r1728 --- server/plugins-available/apache2_plugin.inc.php | 28 ++++++++++++++++++---------- 1 files changed, 18 insertions(+), 10 deletions(-) diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php index 6e6e0fd..4445db3 100644 --- a/server/plugins-available/apache2_plugin.inc.php +++ b/server/plugins-available/apache2_plugin.inc.php @@ -157,7 +157,7 @@ //* Save a SSL certificate to disk if($data["new"]["ssl_action"] == 'save') { $ssl_dir = $data["new"]["document_root"]."/ssl"; - $domain = $data["new"]["domain"]; + $domain = $data["new"]["ssl_domain"]; $csr_file = $ssl_dir.'/'.$domain.".csr"; $crt_file = $ssl_dir.'/'.$domain.".crt"; $bundle_file = $ssl_dir.'/'.$domain.".bundle"; @@ -174,7 +174,7 @@ //* Delete a SSL certificate if($data["new"]["ssl_action"] == 'del') { $ssl_dir = $data["new"]["document_root"]."/ssl"; - $domain = $data["new"]["domain"]; + $domain = $data["new"]["ssl_domain"]; $csr_file = $ssl_dir.'/'.$domain.".csr"; $crt_file = $ssl_dir.'/'.$domain.".crt"; $bundle_file = $ssl_dir.'/'.$domain.".bundle"; @@ -555,10 +555,12 @@ $vhost_data["web_basedir"] = $web_config["website_basedir"]; $vhost_data["security_level"] = $web_config["security_level"]; $vhost_data["allow_override"] = ($data["new"]["allow_override"] == '')?'All':$data["new"]["allow_override"]; + $vhost_data["php_open_basedir"] = ($data["new"]["php_open_basedir"] == '')?$data["new"]["document_root"]:$data["new"]["php_open_basedir"]; + $vhost_data["ssl_domain"] = $data["new"]["ssl_domain"]; // Check if a SSL cert exists $ssl_dir = $data["new"]["document_root"]."/ssl"; - $domain = $data["new"]["domain"]; + $domain = $data["new"]["ssl_domain"]; $key_file = $ssl_dir.'/'.$domain.".key"; $crt_file = $ssl_dir.'/'.$domain.".crt"; $bundle_file = $ssl_dir.'/'.$domain.".bundle"; @@ -706,12 +708,15 @@ $fcgi_tpl = new tpl(); $fcgi_tpl->newTemplate("php-fcgi-starter.master"); - $fcgi_tpl->setVar('php_ini_path',$fastcgi_config["fastcgi_phpini_path"]); - $fcgi_tpl->setVar('document_root',$data["new"]["document_root"]); - $fcgi_tpl->setVar('php_fcgi_children',$fastcgi_config["fastcgi_children"]); - $fcgi_tpl->setVar('php_fcgi_max_requests',$fastcgi_config["fastcgi_max_requests"]); - $fcgi_tpl->setVar('php_fcgi_bin',$fastcgi_config["fastcgi_bin"]); - $fcgi_tpl->setVar('security_level',$web_config["security_level"]); + $fcgi_tpl->setVar('php_ini_path',escapeshellcmd($fastcgi_config["fastcgi_phpini_path"])); + $fcgi_tpl->setVar('document_root',escapeshellcmd($data["new"]["document_root"])); + $fcgi_tpl->setVar('php_fcgi_children',escapeshellcmd($fastcgi_config["fastcgi_children"])); + $fcgi_tpl->setVar('php_fcgi_max_requests',escapeshellcmd($fastcgi_config["fastcgi_max_requests"])); + $fcgi_tpl->setVar('php_fcgi_bin',escapeshellcmd($fastcgi_config["fastcgi_bin"])); + $fcgi_tpl->setVar('security_level',intval($web_config["security_level"])); + + $php_open_basedir = ($data["new"]["php_open_basedir"] == '')?$data["new"]["document_root"]:$data["new"]["php_open_basedir"]; + $fcgi_tpl->setVar('open_basedir', escapeshellcmd($php_open_basedir)); $fcgi_starter_script = escapeshellcmd($fastcgi_starter_path.$fastcgi_config["fastcgi_starter_script"]); file_put_contents($fcgi_starter_script,$fcgi_tpl->grab()); @@ -759,7 +764,10 @@ $cgi_tpl->newTemplate("php-cgi-starter.master"); // This works, because php "rewrites" a symlink to the physical path - $cgi_tpl->setVar('open_basedir', $data["new"]["document_root"]); + $php_open_basedir = ($data["new"]["php_open_basedir"] == '')?$data["new"]["document_root"]:$data["new"]["php_open_basedir"]; + $cgi_tpl->setVar('open_basedir', escapeshellcmd($php_open_basedir)); + $cgi_tpl->setVar('document_root', escapeshellcmd($data["new"]["document_root"])); + // This will NOT work! //$cgi_tpl->setVar('open_basedir', "/var/www/" . $data["new"]["domain"]); $cgi_tpl->setVar('php_cgi_bin',$cgi_config["cgi_bin"]); -- Gitblit v1.9.1