From 8e1727b6d3d2a8168c6c89e26aa93a1fd0f0cfd8 Mon Sep 17 00:00:00 2001
From: Joseph Schorr <josephschorr@users.noreply.github.com>
Date: Tue, 8 Mar 2016 18:08:40 -0500
Subject: [PATCH] Fix mail and signing defaults

---
 static/directives/config/config-setup-tool.html |  4 ++--
 util/config/configutil.py                       |  7 ++++++-
 util/security/signing.py                        | 13 ++++++++++++-
 3 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/static/directives/config/config-setup-tool.html b/static/directives/config/config-setup-tool.html
index 4f5a9a190..ec3110948 100644
--- a/static/directives/config/config-setup-tool.html
+++ b/static/directives/config/config-setup-tool.html
@@ -297,8 +297,8 @@
         </div>
 
         <div class="co-checkbox">
-          <input id="ftmail" type="checkbox" ng-model="config.FEATURE_ACI_CONVERSION">
-          <label for="ftmail">Enable ACI Conversion</label>
+          <input id="ftaci" type="checkbox" ng-model="config.FEATURE_ACI_CONVERSION">
+          <label for="ftaci">Enable ACI Conversion</label>
         </div>
 
         <div class="co-alert co-alert-info" ng-if="config.FEATURE_ACI_CONVERSION" style="margin-top: 20px;">
diff --git a/util/config/configutil.py b/util/config/configutil.py
index 461e93a70..80c55f482 100644
--- a/util/config/configutil.py
+++ b/util/config/configutil.py
@@ -21,7 +21,7 @@ def add_enterprise_config_defaults(config_obj, current_secret_key, hostname):
   # Default features that are off.
   config_obj['FEATURE_MAILING'] = config_obj.get('FEATURE_MAILING', False)
   config_obj['FEATURE_BUILD_SUPPORT'] = config_obj.get('FEATURE_BUILD_SUPPORT', False)
-  config_obj['FEATURE_ACI_CONVERSION'] = config_obj.get('FEATURE_ACI_CONVERSION', True)
+  config_obj['FEATURE_ACI_CONVERSION'] = config_obj.get('FEATURE_ACI_CONVERSION', False)
 
   # Default the signer config.
   config_obj['GPG2_PRIVATE_KEY_FILENAME'] = config_obj.get('GPG2_PRIVATE_KEY_FILENAME',
@@ -30,6 +30,11 @@ def add_enterprise_config_defaults(config_obj, current_secret_key, hostname):
                                                           'signing-public.gpg')
   config_obj['SIGNING_ENGINE'] = config_obj.get('SIGNING_ENGINE', 'gpg2')
 
+  # Default mail setings.
+  config_obj['MAIL_USE_TLS'] = True
+  config_obj['MAIL_PORT'] = 587
+  config_obj['MAIL_DEFAULT_SENDER'] = 'support@quay.io'
+
   # Default auth type.
   if not 'AUTHENTICATION_TYPE' in config_obj:
     config_obj['AUTHENTICATION_TYPE'] = 'Database'
diff --git a/util/security/signing.py b/util/security/signing.py
index 5b5810aeb..ccff00019 100644
--- a/util/security/signing.py
+++ b/util/security/signing.py
@@ -1,5 +1,10 @@
 import gpgme
 import os
+import features
+import logging
+
+logger = logging.getLogger(__name__)
+
 from StringIO import StringIO
 
 class GPG2Signer(object):
@@ -61,7 +66,13 @@ class Signer(object):
     if preference is None:
       return None
 
-    return SIGNING_ENGINES[preference](app.config, key_directory)
+    if not features.ACI_CONVERSION:
+      return None
+
+    try:
+      return SIGNING_ENGINES[preference](app.config, key_directory)
+    except Exception:
+      logger.exception('Could not initialize signing engine')
 
   def __getattr__(self, name):
     return getattr(self.state, name, None)