mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 787406 - B2G Network Manager: Allow only one default route at the same time. r=philikon.
This commit is contained in:
parent
c295d6b67a
commit
716e12df6a
@ -161,6 +161,9 @@ NetworkManager.prototype = {
|
||||
network.type == Ci.nsINetworkInterface.NETWORK_TYPE_MOBILE_SUPL) {
|
||||
this.addHostRoute(network);
|
||||
}
|
||||
// Remove pre-created default route and let setAndConfigureActive()
|
||||
// to set default route only on preferred network
|
||||
this.removeDefaultRoute(network.name);
|
||||
this.setAndConfigureActive();
|
||||
break;
|
||||
case Ci.nsINetworkInterface.NETWORK_STATE_DISCONNECTED:
|
||||
@ -202,6 +205,9 @@ NetworkManager.prototype = {
|
||||
network.type == Ci.nsINetworkInterface.NETWORK_TYPE_MOBILE_SUPL) {
|
||||
this.addHostRoute(network);
|
||||
}
|
||||
// Remove pre-created default route and let setAndConfigureActive()
|
||||
// to set default route only on preferred network
|
||||
this.removeDefaultRoute(network.name);
|
||||
this.setAndConfigureActive();
|
||||
Services.obs.notifyObservers(network, TOPIC_INTERFACE_REGISTERED, null);
|
||||
debug("Network '" + network.name + "' registered.");
|
||||
@ -338,6 +344,15 @@ NetworkManager.prototype = {
|
||||
this.setNetworkProxy();
|
||||
},
|
||||
|
||||
removeDefaultRoute: function removeDefaultRoute(ifname) {
|
||||
debug("Remove default route for " + ifname);
|
||||
let options = {
|
||||
cmd: "removeDefaultRoute",
|
||||
ifname: ifname
|
||||
}
|
||||
this.worker.postMessage(options);
|
||||
},
|
||||
|
||||
addHostRoute: function addHostRoute(network) {
|
||||
debug("Going to add host route on " + network.name);
|
||||
let options = {
|
||||
|
@ -166,6 +166,13 @@ function runDHCPAndSetDefaultRouteAndDNS(options) {
|
||||
setDefaultRouteAndDNS(dhcp);
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove default route for given network interface.
|
||||
*/
|
||||
function removeDefaultRoute(options) {
|
||||
libnetutils.ifc_remove_default_route(options.ifname);
|
||||
}
|
||||
|
||||
/**
|
||||
* Add host route for given network interface.
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user