From fc85c73e1de4426f9fd50d75292ec130b62d2fa6 Mon Sep 17 00:00:00 2001 From: tbrehm <t.brehm@ispconfig.org> Date: Wed, 06 Feb 2013 09:34:57 -0500 Subject: [PATCH] FS#2651 - Improve mailman configuration --- server/plugins-available/apache2_plugin.inc.php | 29 ++++++++++++++++++++++++++--- 1 files changed, 26 insertions(+), 3 deletions(-) diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php index 41040c0..2c93cc8 100644 --- a/server/plugins-available/apache2_plugin.inc.php +++ b/server/plugins-available/apache2_plugin.inc.php @@ -243,7 +243,17 @@ if(trim($data["new"]["ssl_request"]) != '') $app->system->file_put_contents($csr_file,$data["new"]["ssl_request"]); if(trim($data["new"]["ssl_cert"]) != '') $app->system->file_put_contents($crt_file,$data["new"]["ssl_cert"]); if(trim($data["new"]["ssl_bundle"]) != '') $app->system->file_put_contents($bundle_file,$data["new"]["ssl_bundle"]); - if(trim($data["new"]["ssl_key"]) != '') $app->system->file_put_contents($key_file2,$data["new"]["ssl_key"]); + + //* Write the key file, if field is empty then import the key into the db + if(trim($data["new"]["ssl_key"]) != '') { + $app->system->file_put_contents($key_file2,$data["new"]["ssl_key"]); + } else { + $ssl_key2 = $app->db->quote($app->system->file_get_contents($key_file2)); + /* Update the DB of the (local) Server */ + $app->db->query("UPDATE web_domain SET ssl_key = '$ssl_key2' WHERE domain = '".$data['new']['domain']."'"); + /* Update also the master-DB of the Server-Farm */ + $app->dbmaster->query("UPDATE web_domain SET ssl_key = '$ssl_key2' WHERE domain = '".$data['new']['domain']."'"); + } /* Update the DB of the (local) Server */ $app->db->query("UPDATE web_domain SET ssl_action = '' WHERE domain = '".$data['new']['domain']."'"); @@ -432,12 +442,14 @@ //* Check if there is already some data in the new docroot and rename it as we need a clean path to move the existing site to the new path if(@is_dir($data['new']['document_root'])) { - $app->system->rename($data['new']['document_root'],$data['new']['document_root'].'_bak_'.date('Y_m_d')); - $app->log('Renaming existing directory in new docroot location. mv '.$data['new']['document_root'].' '.$data['new']['document_root'].'_bak_'.date('Y_m_d'),LOGLEVEL_DEBUG); + $app->system->web_folder_protection($data['new']['document_root'],false); + $app->system->rename($data['new']['document_root'],$data['new']['document_root'].'_bak_'.date('Y_m_d_H_i_s')); + $app->log('Renaming existing directory in new docroot location. mv '.$data['new']['document_root'].' '.$data['new']['document_root'].'_bak_'.date('Y_m_d_H_i_s'),LOGLEVEL_DEBUG); } //* Create new base directory, if it does not exist yet if(!is_dir($new_dir)) $app->system->mkdirpath($new_dir); + $app->system->web_folder_protection($data['old']['document_root'],false); exec('mv '.escapeshellarg($data['old']['document_root']).' '.escapeshellarg($new_dir)); //$app->system->rename($data['old']['document_root'],$new_dir); $app->log('Moving site to new document root: mv '.$data['old']['document_root'].' '.$new_dir,LOGLEVEL_DEBUG); @@ -2654,6 +2666,17 @@ $client_dir = $web_config['website_basedir'].'/clients/client'.$client_id; if(is_dir($client_dir) && !stristr($client_dir,'..')) { + // remove symlinks from $client_dir + $files = array_diff(scandir($client_dir), array('.','..')); + if(is_array($files) && !empty($files)){ + foreach($files as $file){ + if(is_link($client_dir.'/'.$file)){ + unlink($client_dir.'/'.$file); + $app->log('Removed symlink: '.$client_dir.'/'.$file,LOGLEVEL_DEBUG); + } + } + } + @rmdir($client_dir); $app->log('Removed client directory: '.$client_dir,LOGLEVEL_DEBUG); } -- Gitblit v1.9.1