Done with:
./mach static-analysis check --checks="-*, modernize-concat-nested-namespaces" --fix .
and then clang-format on the files
Differential Revision: https://phabricator.services.mozilla.com/D58217
--HG--
extra : moz-landing-system : lando
Done with:
./mach static-analysis check --checks="-*, modernize-concat-nested-namespaces" --fix .
and then clang-format on the files
Differential Revision: https://phabricator.services.mozilla.com/D58217
--HG--
extra : moz-landing-system : lando
Bug 1597683, added support for setting the DNS suffix list via "Advanced TCP/IP Settings". The changes performed in "Advanced TCP/IP Settings" reflect inside the `Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters` registry key.
However, when setting the Local Group Policy for DNS Suffixes via gpedit, the registry key that gets modified is `Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient`
Note: the setting in gpedit can be found at Computer Configuration > Administrative Templates > Network > DNS Client > DNS suffix search list
This patch first checks for the Local Group Policy registry key, and if not found it checks the one that gets set by the Advanced TCP/IP Settings window.
Differential Revision: https://phabricator.services.mozilla.com/D56344
--HG--
extra : moz-landing-system : lando
The inclusions were removed with the following very crude script and the
resulting breakage was fixed up by hand. The manual fixups did either
revert the changes done by the script, replace a generic header with a more
specific one or replace a header with a forward declaration.
find . -name "*.idl" | grep -v web-platform | grep -v third_party | while read path; do
interfaces=$(grep "^\(class\|interface\).*:.*" "$path" | cut -d' ' -f2)
if [ -n "$interfaces" ]; then
if [[ "$interfaces" == *$'\n'* ]]; then
regexp="\("
for i in $interfaces; do regexp="$regexp$i\|"; done
regexp="${regexp%%\\\|}\)"
else
regexp="$interfaces"
fi
interface=$(basename "$path")
rg -l "#include.*${interface%%.idl}.h" . | while read path2; do
hits=$(grep -v "#include.*${interface%%.idl}.h" "$path2" | grep -c "$regexp" )
if [ $hits -eq 0 ]; then
echo "Removing ${interface} from ${path2}"
grep -v "#include.*${interface%%.idl}.h" "$path2" > "$path2".tmp
mv -f "$path2".tmp "$path2"
fi
done
fi
done
Differential Revision: https://phabricator.services.mozilla.com/D55444
--HG--
extra : moz-landing-system : lando
The preferences network.netlink.route.check.IPv4 and network.netlink.route.check.IPv6 were removed in bug 1593693 and the values are now hardcoded because they are used by Linux/Android implementation of nsNetworkLinkService for link status detection and they are not supposed to be changed by the user.
Differential Revision: https://phabricator.services.mozilla.com/D55587
--HG--
extra : moz-landing-system : lando
The problem is that the suffix is not always computed when Firefox starts up.
This patch adds a pref `network.notify.initial_call` that controls whether
CheckAdaptersAddresses gets called imediately after.
This call is necessary in order to compute the suffix list, VPN status, etc.
This patch also ensures that OnDnsSuffixListUpdated gets called by
NetlinkService::ComputeDNSSuffixList on Android. This notification is
necessary for the TRRService to pick up the suffix list.
Differential Revision: https://phabricator.services.mozilla.com/D55303
--HG--
extra : moz-landing-system : lando
This patch makes network change event different from network ID change event on Linux and Android. Network change event is now also sent when any address has been added, removed or changed.
Differential Revision: https://phabricator.services.mozilla.com/D53796
--HG--
extra : moz-landing-system : lando
- removes nsNotifyAddrListener::ChangeEvent in favour of NS_NewRunnableFunction
- adds new topic for network ID change notification
Differential Revision: https://phabricator.services.mozilla.com/D52689
--HG--
extra : moz-landing-system : lando
This patch adds network ID change event to Linux and Android. On these platforms network ID change event is equal to network change event.
Differential Revision: https://phabricator.services.mozilla.com/D50391
--HG--
extra : moz-landing-system : lando
This code was added in bug 465158 to deal with on-demand dial-up
connections. That scenario is hopefully not common anymore.
One benefit of the code was that it excludes network adapters
that share the computers network from being part of network
change notifications, network ID, etc. However, the code assumed
that only adapters with the address 192.168.0.1 would be a ICS
adapter, but trying to set up ICS on Windows 10 actually set the
LAN interface with 192.168.137.1 - so that assumption isn't
valid anymore. So the code is likely not even running for
adapters that are ICS. It may run for adapters which have the
IP 192.168.0.1, but probably that's quite rare as that's more
often a gateway IP than a client IP.
In any case, it's better to just get rid of it and if needed,
however unlikely, we'll replace it with a more modern API.
Depends on D52573
Differential Revision: https://phabricator.services.mozilla.com/D52574
--HG--
extra : moz-landing-system : lando
Old code needed to dynamically load a DLL - which was not available
for windows versions prior to Vista, and if that failed it would
fall back to using an older API.
This patch now calls the methods directly, since we don't have to
worry about the library not being there; we also remove the
fallback, meaning we always call NotifyIpInterfaceChange instead
of falling back to NotifyAddrChange.
Differential Revision: https://phabricator.services.mozilla.com/D52573
--HG--
extra : moz-landing-system : lando
Determining link status from states and addresses of the individual interfaces isn't always reliable. With this patch we assume the link is up when we could find a route for kRouteCheckIPv4 host or kRouteCheckIPv6 host.
Differential Revision: https://phabricator.services.mozilla.com/D52027
--HG--
extra : moz-landing-system : lando
Determining link status from states and addresses of the individual interfaces isn't always reliable. With this patch we assume the link is up when we could find a route for kRouteCheckIPv4 host or kRouteCheckIPv6 host.
Differential Revision: https://phabricator.services.mozilla.com/D52027
--HG--
extra : moz-landing-system : lando
When we fail to detect the link as mobile data device, we use GW address for ID calculation. And because GW changes often in case of mobile data we often get different ID for the same network.
Differential Revision: https://phabricator.services.mozilla.com/D51612
--HG--
extra : moz-landing-system : lando
This patch splits network change event into 2 events:
1) network ID change event
It is sent when the calculated ID differs from the previous one.
2) network change event
It is sent when the network ID has changed or when any address has been added, removed or changed.
Differential Revision: https://phabricator.services.mozilla.com/D50391
--HG--
extra : moz-landing-system : lando
For same reason, there are artificial MAC addresses available on some non-ethernet link devices. With this patch we ignore all neighbor messages for non-ethernet links. Also, when traffic for the checked host is routed via rmnet_data device, we skip hashing IP of next hop, because it changes very often in case of some mobile providers.
Differential Revision: https://phabricator.services.mozilla.com/D50184
--HG--
extra : moz-landing-system : lando