Commit 17ca5194 authored by Guillaume Roguez's avatar Guillaume Roguez Committed by Alexandre Lision

remove dead code about ZRTP

ZRTP is not longer supported since long now.
Many code and API are deprecated and public API is stubbed.
This patch removes all this dead code.

Change-Id: Ifb9f094b2a76b1b1c067dc17ac7841a8d7787bc9
Tuleap: #889
parent d8710c09
......@@ -660,12 +660,6 @@ QString Account::password() const
return "";
}
///
bool Account::isDisplaySasOnce() const
{
return d_ptr->accountDetail(DRing::Account::ConfProperties::ZRTP::DISPLAY_SAS_ONCE) IS_TRUE;
}
///Return the account security fallback
bool Account::isSrtpRtpFallback() const
{
......@@ -678,24 +672,6 @@ bool Account::isSrtpEnabled() const
return d_ptr->accountDetail(DRing::Account::ConfProperties::SRTP::ENABLED) IS_TRUE;
}
///
bool Account::isZrtpDisplaySas () const
{
return d_ptr->accountDetail(DRing::Account::ConfProperties::ZRTP::DISPLAY_SAS) IS_TRUE;
}
///Return if the other side support warning
bool Account::isZrtpNotSuppWarning() const
{
return d_ptr->accountDetail(DRing::Account::ConfProperties::ZRTP::NOT_SUPP_WARNING) IS_TRUE;
}
///
bool Account::isZrtpHelloHash() const
{
return d_ptr->accountDetail(DRing::Account::ConfProperties::ZRTP::HELLO_HASH) IS_TRUE;
}
///Return if the account is using a STUN server
bool Account::isSipStunEnabled() const
{
......@@ -1109,16 +1085,8 @@ QVariant Account::roleData(int role) const
return isTlsRequireClientCertificate();
case CAST(Account::Role::TlsEnabled):
return isTlsEnabled();
case CAST(Account::Role::DisplaySasOnce):
return isDisplaySasOnce();
case CAST(Account::Role::SrtpRtpFallback):
return isSrtpRtpFallback();
case CAST(Account::Role::ZrtpDisplaySas):
return isZrtpDisplaySas();
case CAST(Account::Role::ZrtpNotSuppWarning):
return isZrtpNotSuppWarning();
case CAST(Account::Role::ZrtpHelloHash):
return isZrtpHelloHash();
case CAST(Account::Role::SipStunEnabled):
return isSipStunEnabled();
case CAST(Account::Role::PublishedSameAsLocal):
......@@ -1647,12 +1615,6 @@ void Account::setTlsEnabled(bool detail)
d_ptr->regenSecurityValidation();
}
void Account::setDisplaySasOnce(bool detail)
{
d_ptr->setAccountProperty(DRing::Account::ConfProperties::ZRTP::DISPLAY_SAS_ONCE, (detail)TO_BOOL);
d_ptr->regenSecurityValidation();
}
void Account::setSrtpRtpFallback(bool detail)
{
d_ptr->setAccountProperty(DRing::Account::ConfProperties::SRTP::RTP_FALLBACK, (detail)TO_BOOL);
......@@ -1665,24 +1627,6 @@ void Account::setSrtpEnabled(bool detail)
d_ptr->regenSecurityValidation();
}
void Account::setZrtpDisplaySas(bool detail)
{
d_ptr->setAccountProperty(DRing::Account::ConfProperties::ZRTP::DISPLAY_SAS, (detail)TO_BOOL);
d_ptr->regenSecurityValidation();
}
void Account::setZrtpNotSuppWarning(bool detail)
{
d_ptr->setAccountProperty(DRing::Account::ConfProperties::ZRTP::NOT_SUPP_WARNING, (detail)TO_BOOL);
d_ptr->regenSecurityValidation();
}
void Account::setZrtpHelloHash(bool detail)
{
d_ptr->setAccountProperty(DRing::Account::ConfProperties::ZRTP::HELLO_HASH, (detail)TO_BOOL);
d_ptr->regenSecurityValidation();
}
void Account::setSipStunEnabled(bool detail)
{
d_ptr->setAccountProperty(DRing::Account::ConfProperties::STUN::ENABLED, (detail)TO_BOOL);
......@@ -1992,21 +1936,9 @@ void Account::setRoleData(int role, const QVariant& value)
case CAST(Account::Role::TlsEnabled):
setTlsEnabled(value.toBool());
break;
case CAST(Account::Role::DisplaySasOnce):
setDisplaySasOnce(value.toBool());
break;
case CAST(Account::Role::SrtpRtpFallback):
setSrtpRtpFallback(value.toBool());
break;
case CAST(Account::Role::ZrtpDisplaySas):
setZrtpDisplaySas(value.toBool());
break;
case CAST(Account::Role::ZrtpNotSuppWarning):
setZrtpNotSuppWarning(value.toBool());
break;
case CAST(Account::Role::ZrtpHelloHash):
setZrtpHelloHash(value.toBool());
break;
case CAST(Account::Role::SipStunEnabled):
setSipStunEnabled(value.toBool());
break;
......@@ -2165,11 +2097,11 @@ Account::EditState Account::editState() const
/**
* This method can be used to query if a field is available or not in current
* context. This could be extended over time. For now, it only handle the fields
* related to SDES and ZRTP.
* related to SDES.
*
* @todo Support of the private key password is necessary
*
* @param role An sdes or zrtp related Account::Role
* @param role An SDES related Account::Role
* @return if the field is available in the current context
*/
Account::RoleState Account::roleState(Account::Role role) const
......@@ -2225,31 +2157,15 @@ Account::RoleState Account::roleState(Account::Role role) const
//Supported security fields
enum class Fields {
SDES_FALLBACK_RTP ,
ZRTP_SAS_ONCE ,
ZRTP_DISPLAY_SAS ,
ZRTP_WARN_SUPPORTED,
ZTRP_SEND_HELLO ,
COUNT__
};
//Mapping between the roles and the fields
Fields f = Fields::COUNT__;
switch(role) {
case Account::Role::DisplaySasOnce :
f = Fields::ZRTP_SAS_ONCE ;
break;
case Account::Role::SrtpRtpFallback :
f = Fields::SDES_FALLBACK_RTP ;
break;
case Account::Role::ZrtpDisplaySas :
f = Fields::ZRTP_DISPLAY_SAS ;
break;
case Account::Role::ZrtpNotSuppWarning:
f = Fields::ZRTP_WARN_SUPPORTED;
break;
case Account::Role::ZrtpHelloHash :
f = Fields::ZTRP_SEND_HELLO ;
break;
}
#pragma GCC diagnostic pop
#pragma GCC diagnostic pop
......@@ -2264,16 +2180,11 @@ Account::RoleState Account::roleState(Account::Role role) const
//Matrix used to define if a field is enabled
static const Matrix2D<KeyExchangeModel::Type, Fields, Account::RoleState>
enabledFields={{
/* ______________________> SDES_FALLBACK_RTP */
/* / ________________> ZRTP_ASK_USER */
/* / / ___________> ZRTP_DISPLAY_SAS */
/* / / / ______> ZRTP_WARN_SUPPORTED */
/* / / / / _> ZTRP_SEND_HELLO */
/* / / / / / */
/* \/ \/ \/ \/ \/ */
/*Type::ZRTP*/ {{un ,rw ,rw ,rw ,rw }},
/*Type::SDES*/ {{rw ,un ,un ,un ,un }},
/*Type::NONE*/ {{un ,un ,un ,un ,un }},
/* ______________________> SDES_FALLBACK_RTP */
/* / */
/* \/ */
/*Type::SDES*/ {{rw}},
/*Type::NONE*/ {{un}},
}};
const QModelIndex idx = keyExchangeModel()->selectionModel()->currentIndex();
......
......@@ -119,11 +119,7 @@ class LIB_EXPORT Account : public ItemBase {
Q_PROPERTY(bool tlsVerifyClient READ isTlsVerifyClient WRITE setTlsVerifyClient )
Q_PROPERTY(bool tlsRequireClientCertificate READ isTlsRequireClientCertificate WRITE setTlsRequireClientCertificate )
Q_PROPERTY(bool tlsEnabled READ isTlsEnabled WRITE setTlsEnabled )
Q_PROPERTY(bool displaySasOnce READ isDisplaySasOnce WRITE setDisplaySasOnce )
Q_PROPERTY(bool srtpRtpFallback READ isSrtpRtpFallback WRITE setSrtpRtpFallback )
Q_PROPERTY(bool zrtpDisplaySas READ isZrtpDisplaySas WRITE setZrtpDisplaySas )
Q_PROPERTY(bool zrtpNotSuppWarning READ isZrtpNotSuppWarning WRITE setZrtpNotSuppWarning )
Q_PROPERTY(bool zrtpHelloHash READ isZrtpHelloHash WRITE setZrtpHelloHash )
Q_PROPERTY(bool sipStunEnabled READ isSipStunEnabled WRITE setSipStunEnabled )
Q_PROPERTY(bool publishedSameAsLocal READ isPublishedSameAsLocal WRITE setPublishedSameAsLocal )
Q_PROPERTY(bool ringtoneEnabled READ isRingtoneEnabled WRITE setRingtoneEnabled )
......@@ -243,11 +239,7 @@ class LIB_EXPORT Account : public ItemBase {
TlsVerifyClient ,
TlsRequireClientCertificate ,
TlsEnabled ,
DisplaySasOnce ,
SrtpRtpFallback ,
ZrtpDisplaySas ,
ZrtpNotSuppWarning ,
ZrtpHelloHash ,
SipStunEnabled ,
PublishedSameAsLocal ,
RingtoneEnabled ,
......@@ -377,12 +369,8 @@ class LIB_EXPORT Account : public ItemBase {
QString mailbox () const;
QString proxy () const;
QString password () const;
bool isDisplaySasOnce () const;
bool isSrtpRtpFallback () const;
bool isSrtpEnabled () const;
bool isZrtpDisplaySas () const;
bool isZrtpNotSuppWarning () const;
bool isZrtpHelloHash () const;
bool isSipStunEnabled () const;
QString sipStunServer () const;
int registrationExpire () const;
......@@ -488,12 +476,8 @@ class LIB_EXPORT Account : public ItemBase {
void setTlsVerifyClient (bool detail);
void setTlsRequireClientCertificate (bool detail);
void setTlsEnabled (bool detail);
void setDisplaySasOnce (bool detail);
void setSrtpRtpFallback (bool detail);
void setSrtpEnabled (bool detail);
void setZrtpDisplaySas (bool detail);
void setZrtpNotSuppWarning (bool detail);
void setZrtpHelloHash (bool detail);
void setSipStunEnabled (bool detail);
void setPublishedSameAsLocal (bool detail);
void setRingtoneEnabled (bool detail);
......
......@@ -132,11 +132,7 @@ QHash<int,QByteArray> AccountModel::roleNames() const
roles.insert(CAST(Account::Role::TlsVerifyClient ) ,QByteArray("tlsVerifyClient" ));
roles.insert(CAST(Account::Role::TlsRequireClientCertificate ) ,QByteArray("tlsRequireClientCertificate" ));
roles.insert(CAST(Account::Role::TlsEnabled ) ,QByteArray("tlsEnabled" ));
roles.insert(CAST(Account::Role::DisplaySasOnce ) ,QByteArray("displaySasOnce" ));
roles.insert(CAST(Account::Role::SrtpRtpFallback ) ,QByteArray("srtpRtpFallback" ));
roles.insert(CAST(Account::Role::ZrtpDisplaySas ) ,QByteArray("zrtpDisplaySas" ));
roles.insert(CAST(Account::Role::ZrtpNotSuppWarning ) ,QByteArray("zrtpNotSuppWarning" ));
roles.insert(CAST(Account::Role::ZrtpHelloHash ) ,QByteArray("zrtpHelloHash" ));
roles.insert(CAST(Account::Role::SipStunEnabled ) ,QByteArray("sipStunEnabled" ));
roles.insert(CAST(Account::Role::PublishedSameAsLocal ) ,QByteArray("publishedSameAsLocal" ));
roles.insert(CAST(Account::Role::RingtoneEnabled ) ,QByteArray("ringtoneEnabled" ));
......
......@@ -37,14 +37,12 @@ public:
class Name {
public:
constexpr static const char* NONE = "None";
constexpr static const char* ZRTP = "ZRTP";
constexpr static const char* SDES = "SDES";
};
class DaemonName {
public:
constexpr static const char* NONE = "" ;
constexpr static const char* ZRTP = "zrtp";
constexpr static const char* SDES = "sdes";
};
......@@ -106,8 +104,6 @@ QVariant KeyExchangeModel::data( const QModelIndex& index, int role) const
switch (method) {
case KeyExchangeModel::Type::NONE:
return KeyExchangeModelPrivate::Name::NONE;
case KeyExchangeModel::Type::ZRTP:
return KeyExchangeModelPrivate::Name::ZRTP;
case KeyExchangeModel::Type::SDES:
return KeyExchangeModelPrivate::Name::SDES;
case KeyExchangeModel::Type::COUNT__:
......@@ -125,12 +121,6 @@ int KeyExchangeModel::rowCount( const QModelIndex& parent ) const
return parent.isValid()?0:2;
}
Qt::ItemFlags KeyExchangeModel::flags( const QModelIndex& index ) const
{
if (!index.isValid()) return Qt::NoItemFlags;
return index.row()!=(int)KeyExchangeModel::Type::ZRTP?(Qt::ItemIsEnabled|Qt::ItemIsSelectable):Qt::NoItemFlags;
}
bool KeyExchangeModel::setData( const QModelIndex& index, const QVariant &value, int role)
{
Q_UNUSED(index)
......@@ -151,8 +141,6 @@ const char* KeyExchangeModelPrivate::toDaemonName(KeyExchangeModel::Type type)
switch (type) {
case KeyExchangeModel::Type::NONE:
return KeyExchangeModelPrivate::DaemonName::NONE;
case KeyExchangeModel::Type::ZRTP:
return KeyExchangeModelPrivate::DaemonName::ZRTP;
case KeyExchangeModel::Type::SDES:
return KeyExchangeModelPrivate::DaemonName::SDES;
case KeyExchangeModel::Type::COUNT__:
......@@ -167,8 +155,6 @@ KeyExchangeModel::Type KeyExchangeModelPrivate::fromDaemonName(const QString& na
return KeyExchangeModel::Type::NONE;
else if (name == KeyExchangeModelPrivate::DaemonName::SDES)
return KeyExchangeModel::Type::SDES;
else if (name == KeyExchangeModelPrivate::DaemonName::ZRTP)
return KeyExchangeModel::Type::ZRTP;
qDebug() << "Undefined Key exchange mechanism" << name;
return KeyExchangeModel::Type::NONE;
}
......
......@@ -43,19 +43,14 @@ public:
///@enum Type Every supported encryption types
enum class Type {
ZRTP = 0,
NONE = 0,
SDES = 1,
NONE = 2,
COUNT__,
};
///@enum Options Every Key exchange options
enum class Options {
RTP_FALLBACK = 0,
DISPLAY_SAS = 1,
NOT_SUPP_WARNING = 2,
HELLO_HASH = 3,
DISPLAY_SAS_ONCE = 4,
COUNT__,
};
......@@ -66,7 +61,6 @@ public:
//Model functions
virtual QVariant data ( const QModelIndex& index, int role = Qt::DisplayRole ) const override;
virtual int rowCount ( const QModelIndex& parent = QModelIndex() ) const override;
virtual Qt::ItemFlags flags ( const QModelIndex& index ) const override;
virtual bool setData ( const QModelIndex& index, const QVariant &value, int role) override;
virtual QHash<int,QByteArray> roleNames() const override;
......
......@@ -146,82 +146,34 @@ public:
Q_EMIT recordingStateChanged(QString(callID.c_str()), recordingState);
});
}),
exportable_callback<CallSignal::SecureSdesOn>(
[this] (const std::string &callID) {
QTimer::singleShot(0, [this,callID] {
LOG_DRING_SIGNAL("secureSdesOn",QString(callID.c_str()));
Q_EMIT secureSdesOn(QString(callID.c_str()));
});
}),
exportable_callback<CallSignal::SecureSdesOff>(
[this] (const std::string &callID) {
QTimer::singleShot(0, [this,callID] {
LOG_DRING_SIGNAL("secureSdesOff",QString(callID.c_str()));
Q_EMIT secureSdesOff(QString(callID.c_str()));
});
}),
exportable_callback<CallSignal::SecureZrtpOn>(
[this] (const std::string &callID, const std::string &cipher) {
QTimer::singleShot(0, [this,callID,cipher] {
LOG_DRING_SIGNAL2("secureZrtpOn",QString(callID.c_str()), QString(cipher.c_str()));
Q_EMIT secureZrtpOn(QString(callID.c_str()), QString(cipher.c_str()));
});
}),
exportable_callback<CallSignal::SecureZrtpOff>(
[this] (const std::string &callID) {
QTimer::singleShot(0, [this,callID] {
Q_EMIT secureZrtpOff(QString(callID.c_str()));
});
}),
exportable_callback<CallSignal::ShowSAS>(
[this] (const std::string &callID, const std::string &sas, bool verified) {
QTimer::singleShot(0, [this,callID, sas, verified] {
LOG_DRING_SIGNAL3("showSAS",QString(callID.c_str()), QString(sas.c_str()), verified);
Q_EMIT showSAS(QString(callID.c_str()), QString(sas.c_str()), verified);
});
}),
exportable_callback<CallSignal::ZrtpNotSuppOther>(
[this] (const std::string &callID) {
QTimer::singleShot(0, [this,callID] {
LOG_DRING_SIGNAL("zrtpNotSuppOther",QString(callID.c_str()));
Q_EMIT zrtpNotSuppOther(QString(callID.c_str()));
});
}),
exportable_callback<CallSignal::ZrtpNegotiationFailed>(
[this] (const std::string &callID, const std::string &reason, const std::string &severity) {
QTimer::singleShot(0, [this,callID, reason, severity] {
LOG_DRING_SIGNAL3("zrtpNegotiationFailed",QString(callID.c_str()), QString(reason.c_str()), QString(severity.c_str()));
Q_EMIT zrtpNegotiationFailed(QString(callID.c_str()), QString(reason.c_str()), QString(severity.c_str()));
});
}),
exportable_callback<CallSignal::RtcpReportReceived>(
[this] (const std::string &callID, const std::map<std::string, int>& report) {
exportable_callback<CallSignal::RtcpReportReceived>(
[this] (const std::string &callID, const std::map<std::string, int>& report) {
QTimer::singleShot(0, [this,callID, report] {
LOG_DRING_SIGNAL2("onRtcpReportReceived",QString(callID.c_str()), convertStringInt(report));
Q_EMIT onRtcpReportReceived(QString(callID.c_str()), convertStringInt(report));
});
}),
exportable_callback<CallSignal::PeerHold>(
[this] (const std::string &callID, bool state) {
}),
exportable_callback<CallSignal::PeerHold>(
[this] (const std::string &callID, bool state) {
QTimer::singleShot(0, [this,callID, state] {
LOG_DRING_SIGNAL2("peerHold",QString(callID.c_str()), state);
Q_EMIT peerHold(QString(callID.c_str()), state);
});
}),
exportable_callback<CallSignal::AudioMuted>(
[this] (const std::string &callID, bool state) {
}),
exportable_callback<CallSignal::AudioMuted>(
[this] (const std::string &callID, bool state) {
QTimer::singleShot(0, [this,callID, state] {
LOG_DRING_SIGNAL2("audioMuted",QString(callID.c_str()), state);
Q_EMIT audioMuted(QString(callID.c_str()), state);
});
}),
exportable_callback<CallSignal::VideoMuted>(
[this] (const std::string &callID, bool state) {
}),
exportable_callback<CallSignal::VideoMuted>(
[this] (const std::string &callID, bool state) {
QTimer::singleShot(0, [this,callID, state] {
LOG_DRING_SIGNAL2("videoMuted",QString(callID.c_str()), state);
Q_EMIT videoMuted(QString(callID.c_str()), state);
});
})
})
};
}
......@@ -235,11 +187,6 @@ public Q_SLOTS: // METHODS
return DRing::accept(callID.toStdString());
}
void acceptEnrollment(const QString &callID, bool accepted)
{
DRing::acceptEnrollment(callID.toStdString(), accepted);
}
bool addMainParticipant(const QString &confID)
{
return DRing::addMainParticipant(confID.toStdString());
......@@ -383,16 +330,6 @@ public Q_SLOTS: // METHODS
return DRing::refuse(callID.toStdString());
}
void requestGoClear(const QString &callID)
{
DRing::requestGoClear(callID.toStdString());
}
void resetSASVerified(const QString &callID)
{
DRing::resetSASVerified(callID.toStdString());
}
void sendTextMessage(const QString &callID, const QMap<QString,QString> &message, bool isMixed)
{
DRing::sendTextMessage(
......@@ -400,16 +337,6 @@ public Q_SLOTS: // METHODS
);
}
void setConfirmGoClear(const QString &callID)
{
DRing::setConfirmGoClear(callID.toStdString());
}
void setSASVerified(const QString &callID)
{
DRing::setSASVerified(callID.toStdString());
}
bool startRecordedFilePlayback(const QString &filepath)
{
// TODO: Change method name to match API
......@@ -467,15 +394,7 @@ Q_SIGNALS: // SIGNALS
void conferenceRemoved(const QString &confID);
void newCallCreated(const QString &accountID, const QString &callID, const QString &to);
void recordingStateChanged(const QString &callID, bool recordingState);
void secureSdesOn(const QString &callID);
void secureSdesOff(const QString &callID);
void secureZrtpOn(const QString &callID, const QString &cipher);
void secureZrtpOff(const QString &callID);
void showSAS(const QString &callID, const QString &sas, bool verified);
void zrtpNotSuppOther(const QString &callID);
void zrtpNegotiationFailed(const QString &callID, const QString &reason, const QString &severity);
void onRtcpReportReceived(const QString &callID, MapStringInt report);
void confirmGoClear(const QString &callID);
void audioMuted(const QString &callID, bool state);
void videoMuted(const QString &callID, bool state);
void peerHold(const QString &callID, bool state);
......
......@@ -34,7 +34,7 @@
#include <QtAlgorithms>
const QString SecurityEvaluationModelPrivate::messages[enum_class_size<SecurityEvaluationModel::AccountSecurityChecks>()] = {
/*SRTP_ENABLED */QObject::tr("Your media streams are not encrypted, please enable ZRTP or SDES"),
/*SRTP_ENABLED */QObject::tr("Your media streams are not encrypted, please enable SDES"),
/*TLS_ENABLED */QObject::tr("TLS is disabled, the negotiation won't be encrypted. Your communication will be vulnerable to "
"snooping"),
/*CERTIFICATE_MATCH */QObject::tr("Your certificate and authority don't match, if your certificate require an authority, it won't work"),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment