From a7bdf8d0bfd77eb99f1972dd41f04a068212361a Mon Sep 17 00:00:00 2001 From: tbrehm <t.brehm@ispconfig.org> Date: Thu, 22 Sep 2011 07:32:33 -0400 Subject: [PATCH] Implemented: FS#334 - IPv6 support Implemented: FS#1113 - Force client to use only allowed IPs --- server/plugins-available/apache2_plugin.inc.php | 29 +++++++++++++++++++++++++++++ 1 files changed, 29 insertions(+), 0 deletions(-) diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php index 2f641b1..51c6a66 100644 --- a/server/plugins-available/apache2_plugin.inc.php +++ b/server/plugins-available/apache2_plugin.inc.php @@ -651,6 +651,7 @@ $tpl->newTemplate('vhost.conf.master'); $vhost_data = $data['new']; + //unset($vhost_data['ip_address']); $vhost_data['web_document_root'] = $data['new']['document_root'].'/web'; $vhost_data['web_document_root_www'] = $web_config['website_basedir'].'/'.$data['new']['domain'].'/web'; $vhost_data['web_basedir'] = $web_config['website_basedir']; @@ -668,6 +669,7 @@ $crt_file = $ssl_dir.'/'.$domain.'.crt'; $bundle_file = $ssl_dir.'/'.$domain.'.bundle'; + /* if($domain!='' && $data['new']['ssl'] == 'y' && @is_file($crt_file) && @is_file($key_file) && (@filesize($crt_file)>0) && (@filesize($key_file)>0)) { $vhost_data['ssl_enabled'] = 1; $app->log('Enable SSL for: '.$domain,LOGLEVEL_DEBUG); @@ -675,6 +677,7 @@ $vhost_data['ssl_enabled'] = 0; $app->log('SSL Disabled. '.$domain,LOGLEVEL_DEBUG); } + */ if(@is_file($bundle_file)) $vhost_data['has_bundle_cert'] = 1; @@ -951,6 +954,32 @@ //* Make a backup copy of vhost file if(file_exists($vhost_file)) copy($vhost_file,$vhost_file.'~'); + //* create empty vhost array + $vhosts = array(); + + //* Add vhost for ipv4 IP + $vhosts[] = array('ip_address' => $data['new']['ip_address'], 'ssl_enabled' => 0, 'port' => 80 ); + + //* Add vhost for ipv4 IP with SSL + if($data['new']['ssl_domain'] != '' && $data['new']['ssl'] == 'y' && @is_file($crt_file) && @is_file($key_file) && (@filesize($crt_file)>0) && (@filesize($key_file)>0)) { + $vhosts[] = array('ip_address' => $data['new']['ip_address'], 'ssl_enabled' => 1, 'port' => '443' ); + $app->log('Enable SSL for: '.$domain,LOGLEVEL_DEBUG); + } + + //* Add vhost for IPv6 IP + if($data['new']['ipv6_address'] != '') { + $vhosts[] = array('ip_address' => '['.$data['new']['ipv6_address'].']', 'ssl_enabled' => 0, 'port' => 80 ); + + //* Add vhost for ipv6 IP with SSL + if($data['new']['ssl_domain'] != '' && $data['new']['ssl'] == 'y' && @is_file($crt_file) && @is_file($key_file) && (@filesize($crt_file)>0) && (@filesize($key_file)>0)) { + $vhosts[] = array('ip_address' => '['.$data['new']['ipv6_address'].']', 'ssl_enabled' => 1, 'port' => '443' ); + $app->log('Enable SSL for IPv6: '.$domain,LOGLEVEL_DEBUG); + } + } + + //* Set the vhost loop + $tpl->setLoop('vhosts',$vhosts); + //* Write vhost file file_put_contents($vhost_file,$tpl->grab()); $app->log('Writing the vhost file: '.$vhost_file,LOGLEVEL_DEBUG); -- Gitblit v1.9.1