Make it possible to remove manually configured IPv4 addresses
This commit is contained in:
parent
4e07bf46e2
commit
807b01d5d2
@ -428,6 +428,7 @@ void ConnectionSettingsEngine::modifyConnectionSettings(QString connUuidStr, QVa
|
|||||||
{
|
{
|
||||||
// Contains adapted code from plasma-nm
|
// Contains adapted code from plasma-nm
|
||||||
bool wipeClonedMacAddress = false;
|
bool wipeClonedMacAddress = false;
|
||||||
|
bool wipeIpv4AddressConfig = false;
|
||||||
bool ensure802_1xSettings = false;
|
bool ensure802_1xSettings = false;
|
||||||
NetworkManager::Connection::Ptr conn = NetworkManager::findConnectionByUuid(connUuidStr);
|
NetworkManager::Connection::Ptr conn = NetworkManager::findConnectionByUuid(connUuidStr);
|
||||||
NetworkManager::ConnectionSettings::Ptr connSettings = conn->settings();
|
NetworkManager::ConnectionSettings::Ptr connSettings = conn->settings();
|
||||||
@ -528,6 +529,8 @@ void ConnectionSettingsEngine::modifyConnectionSettings(QString connUuidStr, QVa
|
|||||||
QList<NetworkManager::IpAddress> ipv4AddrList = settings["ipv4AddressList"].value<QList<NetworkManager::IpAddress>>();
|
QList<NetworkManager::IpAddress> ipv4AddrList = settings["ipv4AddressList"].value<QList<NetworkManager::IpAddress>>();
|
||||||
if (!ipv4AddrList.isEmpty()) {
|
if (!ipv4AddrList.isEmpty()) {
|
||||||
connIpv4Setting->setAddresses(ipv4AddrList);
|
connIpv4Setting->setAddresses(ipv4AddrList);
|
||||||
|
} else {
|
||||||
|
wipeIpv4AddressConfig = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -817,6 +820,16 @@ void ConnectionSettingsEngine::modifyConnectionSettings(QString connUuidStr, QVa
|
|||||||
if (ensure802_1xSettings) {
|
if (ensure802_1xSettings) {
|
||||||
connSettingsMap.insert("802-1x", secSetting.toMap());
|
connSettingsMap.insert("802-1x", secSetting.toMap());
|
||||||
}
|
}
|
||||||
|
if (wipeIpv4AddressConfig) {
|
||||||
|
QVariantMap ipv4SettingsMap = connSettingsMap.value("ipv4");
|
||||||
|
if (!ipv4SettingsMap.isEmpty()) {
|
||||||
|
ipv4SettingsMap.remove("address-data");
|
||||||
|
ipv4SettingsMap.remove("addresses");
|
||||||
|
ipv4SettingsMap.remove("gateway");
|
||||||
|
connSettingsMap.remove("ipv4");
|
||||||
|
connSettingsMap.insert("ipv4", ipv4SettingsMap);
|
||||||
|
}
|
||||||
|
}
|
||||||
if (wipeClonedMacAddress) {
|
if (wipeClonedMacAddress) {
|
||||||
QVariantMap ethSettingsMap = connSettingsMap.value("802-3-ethernet");
|
QVariantMap ethSettingsMap = connSettingsMap.value("802-3-ethernet");
|
||||||
if (!ethSettingsMap.isEmpty()) {
|
if (!ethSettingsMap.isEmpty()) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user