diff options
Diffstat (limited to 'devel/electron37/files/patch-net_socket_udp__socket__posix.cc')
-rw-r--r-- | devel/electron37/files/patch-net_socket_udp__socket__posix.cc | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/devel/electron37/files/patch-net_socket_udp__socket__posix.cc b/devel/electron37/files/patch-net_socket_udp__socket__posix.cc new file mode 100644 index 000000000000..beb6dae11eb5 --- /dev/null +++ b/devel/electron37/files/patch-net_socket_udp__socket__posix.cc @@ -0,0 +1,39 @@ +--- net/socket/udp_socket_posix.cc.orig 2025-06-30 07:04:30 UTC ++++ net/socket/udp_socket_posix.cc +@@ -524,12 +524,17 @@ int UDPSocketPosix::SetRecvTos() { + #endif // BUILDFLAG(IS_APPLE) + } + ++#ifdef IP_RECVTOS + int rv = setsockopt(socket_, IPPROTO_IP, IP_RECVTOS, &ecn, sizeof(ecn)); ++#else ++ int rv = -1; ++ errno = EOPNOTSUPP; ++#endif + return rv == 0 ? OK : MapSystemError(errno); + } + + void UDPSocketPosix::SetMsgConfirm(bool confirm) { +-#if !BUILDFLAG(IS_APPLE) ++#if !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) + if (confirm) { + sendto_flags_ |= MSG_CONFIRM; + } else { +@@ -550,7 +555,7 @@ int UDPSocketPosix::SetBroadcast(bool broadcast) { + DCHECK_CALLED_ON_VALID_THREAD(thread_checker_); + int value = broadcast ? 1 : 0; + int rv; +-#if BUILDFLAG(IS_APPLE) ++#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) + // SO_REUSEPORT on OSX permits multiple processes to each receive + // UDP multicast or broadcast datagrams destined for the bound + // port. +@@ -894,7 +899,7 @@ int UDPSocketPosix::DoBind(const IPEndPoint& address) + #if BUILDFLAG(IS_CHROMEOS) + if (last_error == EINVAL) + return ERR_ADDRESS_IN_USE; +-#elif BUILDFLAG(IS_APPLE) ++#elif BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) + if (last_error == EADDRNOTAVAIL) + return ERR_ADDRESS_IN_USE; + #endif |