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
No related branches found
No related tags found
No related merge requests found
......@@ -116,6 +116,10 @@ DlgAccounts::DlgAccounts(KConfigDialog *parent)
connect(keditlistbox_codec, SIGNAL(changed()),
this, SLOT(codecChanged()));
connect(combo_security_STRP, SIGNAL(currentIndexChanged(int)),
this, SLOT(updateCombo(int)));
}
void DlgAccounts::saveAccountList()
......@@ -220,8 +224,17 @@ void DlgAccounts::saveAccount(QListWidgetItem * item)
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_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(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;
foreach (QString aCodec, keditlistbox_codec->items()) {
foreach (StringHash _aCodec, codecList) {
......@@ -291,6 +304,36 @@ void DlgAccounts::loadAccount(QListWidgetItem * item)
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();
ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance();
QStringList activeCodecList = configurationManager.getActiveCodecList(account->getAccountDetail(ACCOUNT_ID));
......@@ -605,3 +648,30 @@ void DlgAccounts::codecChanged()
accountListHasChanged = true;
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:
void codecClicked(const QModelIndex & model);
void addCodec(QString name = "");
void codecChanged();
void updateCombo(int value);
signals:
......
......@@ -233,7 +233,7 @@
</sizepolicy>
</property>
<property name="currentIndex">
<number>0</number>
<number>5</number>
</property>
<widget class="QWidget" name="tab_basic">
<attribute name="title">
......@@ -635,51 +635,12 @@
<rect>
<x>0</x>
<y>0</y>
<width>386</width>
<height>588</height>
<width>536</width>
<height>758</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout_5">
<item row="0" column="0">
<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">
<item row="2" column="0" colspan="2">
<widget class="QLabel" name="label_tls_info">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
......@@ -695,7 +656,7 @@
</property>
</widget>
</item>
<item row="2" column="0" colspan="3">
<item row="3" column="0" colspan="2">
<widget class="QGroupBox" name="group_security_tls">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
......@@ -970,6 +931,75 @@
</layout>
</widget>
</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>
</widget>
</widget>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment