summaryrefslogtreecommitdiff
path: root/devel/electron7/files/patch-net_socket_udp__socket__posix.cc
diff options
context:
space:
mode:
Diffstat (limited to 'devel/electron7/files/patch-net_socket_udp__socket__posix.cc')
-rw-r--r--devel/electron7/files/patch-net_socket_udp__socket__posix.cc108
1 files changed, 0 insertions, 108 deletions
diff --git a/devel/electron7/files/patch-net_socket_udp__socket__posix.cc b/devel/electron7/files/patch-net_socket_udp__socket__posix.cc
deleted file mode 100644
index 779ac8e50e92..000000000000
--- a/devel/electron7/files/patch-net_socket_udp__socket__posix.cc
+++ /dev/null
@@ -1,108 +0,0 @@
---- net/socket/udp_socket_posix.cc.orig 2019-12-12 12:39:54 UTC
-+++ net/socket/udp_socket_posix.cc
-@@ -69,7 +69,7 @@ const int kActivityMonitorMinimumSamplesForThroughputE
- const base::TimeDelta kActivityMonitorMsThreshold =
- base::TimeDelta::FromMilliseconds(100);
-
--#if defined(OS_MACOSX)
-+#if defined(OS_MACOSX) || defined(OS_BSD)
- // When enabling multicast using setsockopt(IP_MULTICAST_IF) MacOS
- // requires passing IPv4 address instead of interface index. This function
- // resolves IPv4 address by interface index. The |address| is returned in
-@@ -98,7 +98,7 @@ int GetIPv4AddressFromIndex(int socket, uint32_t index
- return OK;
- }
-
--#endif // OS_MACOSX
-+#endif // OS_MACOSX || OS_BSD
-
- #if defined(OS_MACOSX) && !defined(OS_IOS)
-
-@@ -644,13 +644,13 @@ int UDPSocketPosix::SetDoNotFragment() {
- }
-
- void UDPSocketPosix::SetMsgConfirm(bool confirm) {
--#if !defined(OS_MACOSX) && !defined(OS_IOS)
-+#if !defined(OS_MACOSX) && !defined(OS_IOS) && !defined(OS_BSD)
- if (confirm) {
- sendto_flags_ |= MSG_CONFIRM;
- } else {
- sendto_flags_ &= ~MSG_CONFIRM;
- }
--#endif // !defined(OS_MACOSX) && !defined(OS_IOS)
-+#endif // !defined(OS_MACOSX) && !defined(OS_IOS) && !defined(OS_BSD)
- }
-
- int UDPSocketPosix::AllowAddressReuse() {
-@@ -665,17 +665,20 @@ int UDPSocketPosix::SetBroadcast(bool broadcast) {
- DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
- int value = broadcast ? 1 : 0;
- int rv;
--#if defined(OS_MACOSX)
-+#if defined(OS_MACOSX) || defined(OS_BSD)
- // SO_REUSEPORT on OSX permits multiple processes to each receive
- // UDP multicast or broadcast datagrams destined for the bound
- // port.
- // This is only being set on OSX because its behavior is platform dependent
- // and we are playing it safe by only setting it on platforms where things
- // break.
-+ rv = setsockopt(socket_, SOL_SOCKET, SO_REUSEADDR, &value, sizeof(value));
-+ if (rv != 0)
-+ return MapSystemError(errno);
- rv = setsockopt(socket_, SOL_SOCKET, SO_REUSEPORT, &value, sizeof(value));
- if (rv != 0)
- return MapSystemError(errno);
--#endif // defined(OS_MACOSX)
-+#endif // defined(OS_MACOSX) || defined(OS_BSD)
- rv = setsockopt(socket_, SOL_SOCKET, SO_BROADCAST, &value, sizeof(value));
-
- return rv == 0 ? OK : MapSystemError(errno);
-@@ -935,7 +938,7 @@ int UDPSocketPosix::SetMulticastOptions() {
- if (multicast_interface_ != 0) {
- switch (addr_family_) {
- case AF_INET: {
--#if defined(OS_MACOSX)
-+#if defined(OS_MACOSX) || defined(OS_BSD)
- ip_mreq mreq = {};
- int error = GetIPv4AddressFromIndex(socket_, multicast_interface_,
- &mreq.imr_interface.s_addr);
-@@ -947,7 +950,11 @@ int UDPSocketPosix::SetMulticastOptions() {
- mreq.imr_address.s_addr = htonl(INADDR_ANY);
- #endif // !defined(OS_MACOSX)
- int rv = setsockopt(socket_, IPPROTO_IP, IP_MULTICAST_IF,
-+#if defined(OS_BSD)
-+ reinterpret_cast<const char*>(&mreq.imr_interface.s_addr), sizeof(mreq.imr_interface.s_addr));
-+#else
- reinterpret_cast<const char*>(&mreq), sizeof(mreq));
-+#endif
- if (rv)
- return MapSystemError(errno);
- break;
-@@ -1009,7 +1016,7 @@ int UDPSocketPosix::JoinGroup(const IPAddress& group_a
- if (addr_family_ != AF_INET)
- return ERR_ADDRESS_INVALID;
-
--#if defined(OS_MACOSX)
-+#if defined(OS_MACOSX) || defined(OS_BSD)
- ip_mreq mreq = {};
- int error = GetIPv4AddressFromIndex(socket_, multicast_interface_,
- &mreq.imr_interface.s_addr);
-@@ -1057,9 +1064,18 @@ int UDPSocketPosix::LeaveGroup(const IPAddress& group_
- case IPAddress::kIPv4AddressSize: {
- if (addr_family_ != AF_INET)
- return ERR_ADDRESS_INVALID;
-+#if defined(OS_BSD)
-+ ip_mreq mreq = {};
-+ int error = GetIPv4AddressFromIndex(socket_, multicast_interface_,
-+ &mreq.imr_interface.s_addr);
-+
-+ if (error != OK)
-+ return error;
-+#else
- ip_mreqn mreq = {};
- mreq.imr_ifindex = multicast_interface_;
- mreq.imr_address.s_addr = INADDR_ANY;
-+#endif
- memcpy(&mreq.imr_multiaddr, group_address.bytes().data(),
- IPAddress::kIPv4AddressSize);
- int rv = setsockopt(socket_, IPPROTO_IP, IP_DROP_MEMBERSHIP,