From 8a1f4cf9991515f0ce7b7bcd3dc1c55274ab0370 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Wed, 20 Jul 2016 12:22:06 -0400
Subject: [PATCH] Do not add www as subdomain to a letsencrypt ssl cert when the domain of the webiste is already www.example.com (and not example.com) even if auto subdomain is set to www.

---
 server/plugins-available/apache2_plugin.inc.php |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php
index f4b6ab7..56791d3 100644
--- a/server/plugins-available/apache2_plugin.inc.php
+++ b/server/plugins-available/apache2_plugin.inc.php
@@ -1189,7 +1189,7 @@
 			$sub_prefixes = array();
 
 			//* be sure to have good domain
-			if($data['new']['subdomain'] == "www" OR $data['new']['subdomain'] == "*") {
+			if(substr($domain,0,4) != 'www.' && ($data['new']['subdomain'] == "www" OR $data['new']['subdomain'] == "*")) {
 				$temp_domains[] = "www." . $domain;
 			}
 
@@ -1207,7 +1207,7 @@
 			if(is_array($aliasdomains)) {
 				foreach($aliasdomains as $aliasdomain) {
 					$temp_domains[] = $aliasdomain['domain'];
-					if(isset($aliasdomain['subdomain']) && ($aliasdomain['subdomain'] != "none")) {
+					if(isset($aliasdomain['subdomain']) && substr($aliasdomain['domain'],0,4) != 'www.' && ($aliasdomain['subdomain'] == "www" OR $aliasdomain['subdomain'] == "*")) {
 						$temp_domains[] = "www." . $aliasdomain['domain'];
 					}
 				}
@@ -1234,6 +1234,7 @@
 			//if(!file_exists($crt_tmp_file) && !file_exists($key_tmp_file)) {
 				// we must not skip if cert exists, otherwise changed domains (alias or sub) won't make it to the cert
 				$app->log("Create Let's Encrypt SSL Cert for: $domain", LOGLEVEL_DEBUG);
+				$app->log("Let's Encrypt SSL Cert domains: $lddomain", LOGLEVEL_DEBUG);
 				
 				$success = false;
 				$letsencrypt = explode("\n", shell_exec('which letsencrypt certbot /root/.local/share/letsencrypt/bin/letsencrypt'));

--
Gitblit v1.9.1