Skip to content
Snippets Groups Projects
Commit d16503d9 authored by Emmanuel Lepage Vallee's avatar Emmanuel Lepage Vallee
Browse files

(may) add support for various security settings. It does not seem to be...

(may) add support for various security settings. It does not seem to be compatible with the gnome client, more tests are required
parent 7ee859b6
Branches
Tags
No related merge requests found
...@@ -116,6 +116,10 @@ DlgAccounts::DlgAccounts(KConfigDialog *parent) ...@@ -116,6 +116,10 @@ DlgAccounts::DlgAccounts(KConfigDialog *parent)
connect(keditlistbox_codec, SIGNAL(changed()), connect(keditlistbox_codec, SIGNAL(changed()),
this, SLOT(codecChanged())); this, SLOT(codecChanged()));
connect(combo_security_STRP, SIGNAL(currentIndexChanged(int)),
this, SLOT(updateCombo(int)));
} }
void DlgAccounts::saveAccountList() void DlgAccounts::saveAccountList()
...@@ -220,8 +224,17 @@ void DlgAccounts::saveAccount(QListWidgetItem * item) ...@@ -220,8 +224,17 @@ void DlgAccounts::saveAccount(QListWidgetItem * item)
account->setAccountDetail(TLS_VERIFY_CLIENT,check_tls_answer->isChecked()?"true":"false"); account->setAccountDetail(TLS_VERIFY_CLIENT,check_tls_answer->isChecked()?"true":"false");
account->setAccountDetail(TLS_REQUIRE_CLIENT_CERTIFICATE,check_tls_requier_cert->isChecked()?"true":"false"); account->setAccountDetail(TLS_REQUIRE_CLIENT_CERTIFICATE,check_tls_requier_cert->isChecked()?"true":"false");
account->setAccountDetail(TLS_ENABLE,group_security_tls->isChecked()?"true":"false"); account->setAccountDetail(TLS_ENABLE,group_security_tls->isChecked()?"true":"false");
qDebug() << "ZRTP: " << combo_security_STRP->currentIndex();
account->setAccountDetail(TLS_METHOD, QString::number(combo_security_STRP->currentIndex())); account->setAccountDetail(TLS_METHOD, QString::number(combo_security_STRP->currentIndex()));
account->setAccountDetail(ACCOUNT_DISPLAY_SAS_ONCE, checkbox_ZRTP_Ask_user->isChecked()?"true":"false");
account->setAccountDetail(ACCOUNT_SRTP_RTP_FALLBACK, checkbox_SDES_fallback_rtp->isChecked()?"true":"false");
account->setAccountDetail(ACCOUNT_ZRTP_DISPLAY_SAS, checkbox_ZRTP_display_SAS->isChecked()?"true":"false");
account->setAccountDetail(ACCOUNT_ZRTP_NOT_SUPP_WARNING, checkbox_ZRTP_warn_supported->isChecked()?"true":"false");
account->setAccountDetail(ACCOUNT_ZRTP_HELLO_HASH, checkbox_ZTRP_send_hello->isChecked()?"true":"false");
QStringList _codecList; QStringList _codecList;
foreach (QString aCodec, keditlistbox_codec->items()) { foreach (QString aCodec, keditlistbox_codec->items()) {
foreach (StringHash _aCodec, codecList) { foreach (StringHash _aCodec, codecList) {
...@@ -291,6 +304,36 @@ void DlgAccounts::loadAccount(QListWidgetItem * item) ...@@ -291,6 +304,36 @@ void DlgAccounts::loadAccount(QListWidgetItem * item)
combo_security_STRP->setCurrentIndex(account->getAccountDetail(TLS_METHOD ).toInt()); combo_security_STRP->setCurrentIndex(account->getAccountDetail(TLS_METHOD ).toInt());
switch (account->getAccountDetail(TLS_METHOD ).toInt()) {
case 0: //KEY_EXCHANGE_NONE
checkbox_SDES_fallback_rtp->setVisible(false);
checkbox_ZRTP_Ask_user->setVisible(false);
checkbox_ZRTP_display_SAS->setVisible(false);
checkbox_ZRTP_warn_supported->setVisible(false);
checkbox_ZTRP_send_hello->setVisible(false);
break;
case 1: //ZRTP
checkbox_SDES_fallback_rtp->setVisible(false);
checkbox_ZRTP_Ask_user->setVisible(true);
checkbox_ZRTP_display_SAS->setVisible(true);
checkbox_ZRTP_warn_supported->setVisible(true);
checkbox_ZTRP_send_hello->setVisible(true);
break;
case 2: //SDES
checkbox_SDES_fallback_rtp->setVisible(true);
checkbox_ZRTP_Ask_user->setVisible(false);
checkbox_ZRTP_display_SAS->setVisible(false);
checkbox_ZRTP_warn_supported->setVisible(false);
checkbox_ZTRP_send_hello->setVisible(false);
break;
}
checkbox_ZRTP_Ask_user->setChecked((account->getAccountDetail(ACCOUNT_DISPLAY_SAS_ONCE) == "true")?1:0);
checkbox_SDES_fallback_rtp->setChecked((account->getAccountDetail(ACCOUNT_SRTP_RTP_FALLBACK) == "true")?1:0);
checkbox_ZRTP_display_SAS->setChecked((account->getAccountDetail(ACCOUNT_ZRTP_DISPLAY_SAS) == "true")?1:0);
checkbox_ZRTP_warn_supported->setChecked((account->getAccountDetail(ACCOUNT_ZRTP_NOT_SUPP_WARNING) == "true")?1:0);
checkbox_ZTRP_send_hello->setChecked((account->getAccountDetail(ACCOUNT_ZRTP_HELLO_HASH) == "true")?1:0);
keditlistbox_codec->clear(); keditlistbox_codec->clear();
ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance();
QStringList activeCodecList = configurationManager.getActiveCodecList(account->getAccountDetail(ACCOUNT_ID)); QStringList activeCodecList = configurationManager.getActiveCodecList(account->getAccountDetail(ACCOUNT_ID));
...@@ -605,3 +648,30 @@ void DlgAccounts::codecChanged() ...@@ -605,3 +648,30 @@ void DlgAccounts::codecChanged()
accountListHasChanged = true; accountListHasChanged = true;
emit updateButtons(); emit updateButtons();
} }
void DlgAccounts::updateCombo(int value) {
switch (combo_security_STRP->currentIndex()) {
case 0: //KEY_EXCHANGE_NONE
checkbox_SDES_fallback_rtp->setVisible(false);
checkbox_ZRTP_Ask_user->setVisible(false);
checkbox_ZRTP_display_SAS->setVisible(false);
checkbox_ZRTP_warn_supported->setVisible(false);
checkbox_ZTRP_send_hello->setVisible(false);
break;
case 1: //ZRTP
checkbox_SDES_fallback_rtp->setVisible(false);
checkbox_ZRTP_Ask_user->setVisible(true);
checkbox_ZRTP_display_SAS->setVisible(true);
checkbox_ZRTP_warn_supported->setVisible(true);
checkbox_ZTRP_send_hello->setVisible(true);
break;
case 2: //SDES
checkbox_SDES_fallback_rtp->setVisible(true);
checkbox_ZRTP_Ask_user->setVisible(false);
checkbox_ZRTP_display_SAS->setVisible(false);
checkbox_ZRTP_warn_supported->setVisible(false);
checkbox_ZTRP_send_hello->setVisible(false);
break;
}
}
\ No newline at end of file
...@@ -133,6 +133,7 @@ private slots: ...@@ -133,6 +133,7 @@ private slots:
void codecClicked(const QModelIndex & model); void codecClicked(const QModelIndex & model);
void addCodec(QString name = ""); void addCodec(QString name = "");
void codecChanged(); void codecChanged();
void updateCombo(int value);
signals: signals:
......
...@@ -233,7 +233,7 @@ ...@@ -233,7 +233,7 @@
</sizepolicy> </sizepolicy>
</property> </property>
<property name="currentIndex"> <property name="currentIndex">
<number>0</number> <number>5</number>
</property> </property>
<widget class="QWidget" name="tab_basic"> <widget class="QWidget" name="tab_basic">
<attribute name="title"> <attribute name="title">
...@@ -635,51 +635,12 @@ ...@@ -635,51 +635,12 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>386</width> <width>536</width>
<height>588</height> <height>758</height>
</rect> </rect>
</property> </property>
<layout class="QGridLayout" name="gridLayout_5"> <layout class="QGridLayout" name="gridLayout_5">
<item row="0" column="0"> <item row="2" column="0" colspan="2">
<widget class="QLabel" name="label_security_STRP">
<property name="text">
<string>STRP key exchange</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="combo_security_STRP">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<item>
<property name="text">
<string>Disabled</string>
</property>
</item>
<item>
<property name="text">
<string>ZRTP</string>
</property>
</item>
<item>
<property name="text">
<string>SDES</string>
</property>
</item>
</widget>
</item>
<item row="0" column="2">
<widget class="QToolButton" name="button_security_STRP">
<property name="text">
<string>Edit</string>
</property>
</widget>
</item>
<item row="1" column="0" colspan="3">
<widget class="QLabel" name="label_tls_info"> <widget class="QLabel" name="label_tls_info">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum"> <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
...@@ -695,7 +656,7 @@ ...@@ -695,7 +656,7 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="0" colspan="3"> <item row="3" column="0" colspan="2">
<widget class="QGroupBox" name="group_security_tls"> <widget class="QGroupBox" name="group_security_tls">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding"> <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
...@@ -970,6 +931,75 @@ ...@@ -970,6 +931,75 @@
</layout> </layout>
</widget> </widget>
</item> </item>
<item row="0" column="0" colspan="2">
<widget class="QGroupBox" name="groupbox_STRP_keyexchange">
<property name="title">
<string>SRTP key exchange</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QComboBox" name="combo_security_STRP">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<item>
<property name="text">
<string>Disabled</string>
</property>
</item>
<item>
<property name="text">
<string>ZRTP</string>
</property>
</item>
<item>
<property name="text">
<string>SDES</string>
</property>
</item>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkbox_ZTRP_send_hello">
<property name="text">
<string>Send Hello Hash in SDP</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkbox_ZRTP_warn_supported">
<property name="text">
<string>Ask user to confirm SAS</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkbox_ZRTP_Ask_user">
<property name="text">
<string>Warn if ZRTP is not supported</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkbox_ZRTP_display_SAS">
<property name="text">
<string>Display SAS once for hold events</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkbox_SDES_fallback_rtp">
<property name="text">
<string>Fallback on RTP on SDES failure</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout> </layout>
</widget> </widget>
</widget> </widget>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment