From 3fc24faf38351b018ebe018a9785d59b76645fd9 Mon Sep 17 00:00:00 2001
From: Stepan Salenikovich <stepan.salenikovich@savoirfairelinux.com>
Date: Fri, 8 Jul 2016 10:49:51 -0400
Subject: [PATCH] tlsmethodmodel: remove SSLv3

This encryption type is no longer supported.

Change-Id: If74633ecc8df17b7515fe080620009489a9fb54e
Tuleap: #831
---
 src/tlsmethodmodel.cpp | 17 ++++++++---------
 src/tlsmethodmodel.h   |  3 +--
 2 files changed, 9 insertions(+), 11 deletions(-)

diff --git a/src/tlsmethodmodel.cpp b/src/tlsmethodmodel.cpp
index 609a7be8..59c69d55 100644
--- a/src/tlsmethodmodel.cpp
+++ b/src/tlsmethodmodel.cpp
@@ -40,7 +40,6 @@ public:
       constexpr static const char* TLSv1   = "TLSv1"  ;
       constexpr static const char* TLSv1_1 = "TLSv1.1";
       constexpr static const char* TLSv1_2 = "TLSv1.2";
-      constexpr static const char* SSLv3   = "SSLv3"  ;
    };
 
 
@@ -50,7 +49,6 @@ public:
       constexpr static const char* TLSv1   = "TLSv1"  ;
       constexpr static const char* TLSv1_1 = "TLSv1.1";
       constexpr static const char* TLSv1_2 = "TLSv1.2";
-      constexpr static const char* SSLv3   = "SSLv3"  ;
    };
 
    static const char* toDaemonName(TlsMethodModel::Type type);
@@ -112,16 +110,18 @@ QVariant TlsMethodModel::data( const QModelIndex& index, int role) const
             return TlsMethodModelPrivate::Name::TLSv1_1;
          case TlsMethodModel::Type::TLSv1_2:
             return TlsMethodModelPrivate::Name::TLSv1_2;
-         case TlsMethodModel::Type::SSLv3:
-            return TlsMethodModelPrivate::Name::SSLv3;
+         case TlsMethodModel::Type::COUNT__:
+            break;
       };
    }
    return QVariant();
 }
 
 int TlsMethodModel::rowCount( const QModelIndex& parent ) const
+
 {
-   return parent.isValid()?0: d_ptr->isRing ? 1 : 4;
+    // In the RING case, only the "default" encryption type can be used
+    return parent.isValid() ? 0 : d_ptr->isRing ? 1 : static_cast<int>(TlsMethodModel::Type::COUNT__);
 }
 
 Qt::ItemFlags TlsMethodModel::flags( const QModelIndex& index ) const
@@ -181,8 +181,9 @@ const char* TlsMethodModelPrivate::toDaemonName(TlsMethodModel::Type type)
          return TlsMethodModelPrivate::DaemonName::TLSv1_1;
       case TlsMethodModel::Type::TLSv1_2:
          return TlsMethodModelPrivate::DaemonName::TLSv1_2;
-      case TlsMethodModel::Type::SSLv3:
-         return TlsMethodModelPrivate::DaemonName::SSLv3;
+      case TlsMethodModel::Type::COUNT__:
+         // default
+         break;
    };
    return TlsMethodModelPrivate::DaemonName::DEFAULT;
 }
@@ -198,8 +199,6 @@ TlsMethodModel::Type TlsMethodModelPrivate::fromDaemonName(const QString& name)
       return TlsMethodModel::Type::TLSv1_1;
    else if (name == TlsMethodModelPrivate::DaemonName::TLSv1_2)
       return TlsMethodModel::Type::TLSv1_2;
-   else if (name == TlsMethodModelPrivate::DaemonName::SSLv3)
-      return TlsMethodModel::Type::SSLv3;
    qDebug() << "Unknown TLS method" << name;
    return TlsMethodModel::Type::DEFAULT;
 }
diff --git a/src/tlsmethodmodel.h b/src/tlsmethodmodel.h
index 94e5116f..be5747da 100644
--- a/src/tlsmethodmodel.h
+++ b/src/tlsmethodmodel.h
@@ -46,7 +46,7 @@ public:
       TLSv1_0   = 1,
       TLSv1_1   = 2,
       TLSv1_2   = 3,
-      SSLv3     = 4,
+      COUNT__
    };
 
    //Private constructor, can only be called by 'Account'
@@ -70,4 +70,3 @@ private:
 
 };
 Q_DECLARE_METATYPE(TlsMethodModel*)
-
-- 
GitLab