summaryrefslogtreecommitdiff
path: root/www/chromium/files/patch-net_base_address__tracker__linux.cc
diff options
context:
space:
mode:
authorRene Ladan <rene@FreeBSD.org>2019-05-24 12:34:58 +0000
committerRene Ladan <rene@FreeBSD.org>2019-05-24 12:34:58 +0000
commita8a9149eb324b20a62cfdb78132a569c6fab2046 (patch)
tree5fdd2d2e7f3be73797f9b742907237c43172a303 /www/chromium/files/patch-net_base_address__tracker__linux.cc
parentdevel/flyspray: Remove broken MYSQL option (diff)
www/chromium: update to 74.0.3729.157
Submitted by: Matthias Wolf via GitHub (#150 #151) MFH: 2019Q2
Diffstat (limited to 'www/chromium/files/patch-net_base_address__tracker__linux.cc')
-rw-r--r--www/chromium/files/patch-net_base_address__tracker__linux.cc111
1 files changed, 17 insertions, 94 deletions
diff --git a/www/chromium/files/patch-net_base_address__tracker__linux.cc b/www/chromium/files/patch-net_base_address__tracker__linux.cc
index c15cb0bfe598..863a043a34f6 100644
--- a/www/chromium/files/patch-net_base_address__tracker__linux.cc
+++ b/www/chromium/files/patch-net_base_address__tracker__linux.cc
@@ -1,4 +1,4 @@
---- net/base/address_tracker_linux.cc.orig 2019-03-11 22:01:00 UTC
+--- net/base/address_tracker_linux.cc.orig 2019-04-30 22:22:54 UTC
+++ net/base/address_tracker_linux.cc
@@ -21,96 +21,10 @@
namespace net {
@@ -99,103 +99,26 @@
}
AddressTrackerLinux::AddressTrackerLinux()
-@@ -153,93 +67,8 @@ AddressTrackerLinux::~AddressTrackerLinux() {
+@@ -151,6 +65,7 @@ AddressTrackerLinux::~AddressTrackerLinux() {
}
void AddressTrackerLinux::Init() {
-- netlink_fd_ = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
-- if (netlink_fd_ < 0) {
-- PLOG(ERROR) << "Could not create NETLINK socket";
-- AbortAndForceOnline();
-- return;
-- }
--
-- int rv;
--
-- if (tracking_) {
-- // Request notifications.
-- struct sockaddr_nl addr = {};
-- addr.nl_family = AF_NETLINK;
-- addr.nl_pid = getpid();
-- // TODO(szym): Track RTMGRP_LINK as well for ifi_type,
-- // http://crbug.com/113993
-- addr.nl_groups =
-- RTMGRP_IPV4_IFADDR | RTMGRP_IPV6_IFADDR | RTMGRP_NOTIFY | RTMGRP_LINK;
-- rv = bind(
-- netlink_fd_, reinterpret_cast<struct sockaddr*>(&addr), sizeof(addr));
-- if (rv < 0) {
-- PLOG(ERROR) << "Could not bind NETLINK socket";
-- AbortAndForceOnline();
-- return;
-- }
-- }
--
-- // Request dump of addresses.
-- struct sockaddr_nl peer = {};
-- peer.nl_family = AF_NETLINK;
--
-- struct {
-- struct nlmsghdr header;
-- struct rtgenmsg msg;
-- } request = {};
--
-- request.header.nlmsg_len = NLMSG_LENGTH(sizeof(request.msg));
-- request.header.nlmsg_type = RTM_GETADDR;
-- request.header.nlmsg_flags = NLM_F_REQUEST | NLM_F_DUMP;
-- request.header.nlmsg_pid = getpid();
-- request.msg.rtgen_family = AF_UNSPEC;
--
-- rv = HANDLE_EINTR(sendto(netlink_fd_, &request, request.header.nlmsg_len,
-- 0, reinterpret_cast<struct sockaddr*>(&peer),
-- sizeof(peer)));
-- if (rv < 0) {
-- PLOG(ERROR) << "Could not send NETLINK request";
-- AbortAndForceOnline();
-- return;
-- }
--
-- // Consume pending message to populate the AddressMap, but don't notify.
-- // Sending another request without first reading responses results in EBUSY.
-- bool address_changed;
-- bool link_changed;
-- bool tunnel_changed;
-- ReadMessages(&address_changed, &link_changed, &tunnel_changed);
--
-- // Request dump of link state
-- request.header.nlmsg_type = RTM_GETLINK;
--
-- rv = HANDLE_EINTR(sendto(netlink_fd_, &request, request.header.nlmsg_len, 0,
-- reinterpret_cast<struct sockaddr*>(&peer),
-- sizeof(peer)));
-- if (rv < 0) {
-- PLOG(ERROR) << "Could not send NETLINK request";
-- AbortAndForceOnline();
-- return;
-- }
--
-- // Consume pending message to populate links_online_, but don't notify.
-- ReadMessages(&address_changed, &link_changed, &tunnel_changed);
-- {
-- AddressTrackerAutoLock lock(*this, connection_type_lock_);
-- connection_type_initialized_ = true;
-- connection_type_initialized_cv_.Broadcast();
-- }
--
-- if (tracking_) {
-- rv = base::MessageLoopCurrentForIO::Get()->WatchFileDescriptor(
-- netlink_fd_, true, base::MessagePumpForIO::WATCH_READ, &watcher_, this);
-- if (rv < 0) {
-- PLOG(ERROR) << "Could not watch NETLINK socket";
-- AbortAndForceOnline();
-- return;
-- }
-- }
-+NOTIMPLEMENTED();
-+AbortAndForceOnline();
++#if !defined(OS_FREEBSD)
+ netlink_fd_.reset(socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE));
+ if (!netlink_fd_.is_valid()) {
+ PLOG(ERROR) << "Could not create NETLINK socket";
+@@ -239,6 +154,10 @@ void AddressTrackerLinux::Init() {
+ return;
+ }
+ }
++#else // !OS_FREEBSD
++ NOTIMPLEMENTED();
++ AbortAndForceOnline();
++#endif // !OS_FREEBSD
}
void AddressTrackerLinux::AbortAndForceOnline() {
-@@ -250,25 +79,6 @@ void AddressTrackerLinux::AbortAndForceOnline() {
+@@ -250,25 +169,6 @@ void AddressTrackerLinux::AbortAndForceOnline() {
connection_type_initialized_cv_.Broadcast();
}
@@ -221,7 +144,7 @@
NetworkChangeNotifier::ConnectionType
AddressTrackerLinux::GetCurrentConnectionType() {
// http://crbug.com/125097
-@@ -326,102 +136,7 @@ void AddressTrackerLinux::HandleMessage(char* buffer,
+@@ -326,102 +226,7 @@ void AddressTrackerLinux::HandleMessage(char* buffer,
bool* address_changed,
bool* link_changed,
bool* tunnel_changed) {
@@ -325,7 +248,7 @@
}
void AddressTrackerLinux::OnFileCanReadWithoutBlocking(int fd) {
-@@ -458,31 +173,7 @@ bool AddressTrackerLinux::IsTunnelInterfaceName(const
+@@ -452,31 +257,7 @@ bool AddressTrackerLinux::IsTunnelInterfaceName(const
}
void AddressTrackerLinux::UpdateCurrentConnectionType() {