Merge branch '1110' into 'dbus-interface'
详情页安全类型判断 See merge request kylin-desktop/kylin-nm!395
This commit is contained in:
commit
cbbe33a665
|
@ -430,13 +430,16 @@ void NetDetail::getBaseInfo(ConInfo &conInfo)
|
|||
//无线特有
|
||||
conInfo.strSecType = item.m_secuType;
|
||||
if (conInfo.strSecType.isEmpty()) {
|
||||
conInfo.strSecType = "None";
|
||||
conInfo.strSecType = tr("None");
|
||||
}
|
||||
}
|
||||
} else {
|
||||
uint iHz,iChan;
|
||||
QString strMac;
|
||||
m_netDeviceResource->getDeviceActiveAPInfo(m_deviceName, strMac, iHz, iChan, conInfo.strSecType);
|
||||
if (conInfo.strSecType.isEmpty()) {
|
||||
conInfo.strSecType = tr("None");
|
||||
}
|
||||
conInfo.strHz = QString::number(iHz);
|
||||
conInfo.strChan = QString::number(iChan);
|
||||
|
||||
|
@ -723,6 +726,14 @@ bool NetDetail::createWiredConnect()
|
|||
bool NetDetail::createWirelessConnect()
|
||||
{
|
||||
KyWirelessConnectSetting connetSetting;
|
||||
KySecuType secuType;
|
||||
KyEapMethodType enterpriseType;
|
||||
securityPage->getSecuType(secuType, enterpriseType);
|
||||
//类型判断
|
||||
if (!checkWirelessSecurity(secuType)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
//基本信息
|
||||
QString ssid;
|
||||
if (m_name.isEmpty()) {
|
||||
|
@ -766,9 +777,6 @@ bool NetDetail::createWirelessConnect()
|
|||
}
|
||||
}
|
||||
//wifi安全性
|
||||
KySecuType secuType;
|
||||
KyEapMethodType enterpriseType;
|
||||
securityPage->getSecuType(secuType, enterpriseType);
|
||||
if (secuType == WPA_AND_WPA2_ENTERPRISE) {
|
||||
connetSetting.m_type = WpaEap;
|
||||
if (enterpriseType == TLS) {
|
||||
|
@ -817,8 +825,21 @@ bool NetDetail::updateConnect()
|
|||
{
|
||||
KyConnectResourse *kyConnectResourse = new KyConnectResourse(this);
|
||||
KyConnectSetting connetSetting;
|
||||
KySecuType secuType;
|
||||
KyEapMethodType enterpriseType;
|
||||
kyConnectResourse->getConnectionSetting(m_uuid,connetSetting);
|
||||
|
||||
bool securityChange = false;
|
||||
if (isWlan) {
|
||||
securityChange = securityPage->checkIsChanged(m_info);
|
||||
if(securityChange) {
|
||||
securityPage->getSecuType(secuType, enterpriseType);
|
||||
if (!checkWirelessSecurity(secuType)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(!m_uuid.isEmpty() && detailPage->checkIsChanged(m_info)) {
|
||||
m_wirelessConnOpration->setWirelessAutoConnect(m_uuid, !m_info.isAutoConnect);
|
||||
}
|
||||
|
@ -849,19 +870,12 @@ bool NetDetail::updateConnect()
|
|||
m_wiredConnOperation->updateWiredConnect(m_uuid, connetSetting);
|
||||
}
|
||||
|
||||
bool securityChange = false;
|
||||
if (isWlan) {
|
||||
securityChange = securityPage->checkIsChanged(m_info);
|
||||
qDebug() << "securityChange" << securityChange;
|
||||
if (securityChange) {
|
||||
KySecuType secuType;
|
||||
KyEapMethodType enterpriseType;
|
||||
securityPage->getSecuType(secuType, enterpriseType);
|
||||
if (secuType == WPA_AND_WPA2_ENTERPRISE) {
|
||||
updateWirelessEnterPriseConnect(enterpriseType);
|
||||
} else {
|
||||
updateWirelessPersonalConnect();
|
||||
}
|
||||
qDebug() << "securityChange" << securityChange;
|
||||
if (securityChange) {
|
||||
if (secuType == WPA_AND_WPA2_ENTERPRISE) {
|
||||
updateWirelessEnterPriseConnect(enterpriseType);
|
||||
} else {
|
||||
updateWirelessPersonalConnect();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -877,3 +891,27 @@ bool NetDetail::updateConnect()
|
|||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool NetDetail::checkWirelessSecurity(KySecuType secuType)
|
||||
{
|
||||
if (secuType == WPA_AND_WPA2_ENTERPRISE) {
|
||||
if(m_info.strSecType.indexOf("802.1X") < 0) {
|
||||
showDesktopNotify(tr("this wifi no support enterprise type"));
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
if (secuType == NONE && m_info.strSecType != "None") {
|
||||
showDesktopNotify(tr("this wifi no support None type"));
|
||||
return false;
|
||||
} else if (secuType == WPA_AND_WPA2_PERSONAL
|
||||
&& (m_info.strSecType.indexOf("WPA1") < 0 ||
|
||||
m_info.strSecType.indexOf("WPA2") < 0)) {
|
||||
showDesktopNotify(tr("this wifi no support WPA2 type"));
|
||||
return false;
|
||||
} else if (secuType == WPA3_PERSONAL && m_info.strSecType.indexOf("WPA3") < 0) {
|
||||
showDesktopNotify(tr("this wifi no support WPA3 type"));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -72,6 +72,8 @@ private:
|
|||
bool createWirelessConnect();
|
||||
bool updateConnect();
|
||||
|
||||
bool checkWirelessSecurity(KySecuType secuType);
|
||||
|
||||
void showDesktopNotify(const QString &message);
|
||||
private:
|
||||
KyNetworkDeviceResourse *m_netDeviceResource = nullptr;
|
||||
|
|
Loading…
Reference in New Issue