From 469a81afb97fa413d0455719ea0c7a7f980715b1 Mon Sep 17 00:00:00 2001 From: m910q Date: Fri, 26 Aug 2022 18:12:57 +0200 Subject: [PATCH] Require listen IP when calling Socket.Listen() --- BeefLibs/corlib/src/Net/Socket.bf | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/BeefLibs/corlib/src/Net/Socket.bf b/BeefLibs/corlib/src/Net/Socket.bf index 81489794..7d1473a9 100644 --- a/BeefLibs/corlib/src/Net/Socket.bf +++ b/BeefLibs/corlib/src/Net/Socket.bf @@ -117,7 +117,7 @@ namespace System.Net #endif [CRepr] - struct in_addr + public struct IPv4Address { public uint8 b1; public uint8 b2; @@ -144,7 +144,7 @@ namespace System.Net { public int16 sin_family; public uint16 sin_port; - public in_addr sin_addr; + public IPv4Address sin_addr; public char8[8] sin_zero; } @@ -339,7 +339,7 @@ namespace System.Net SetBlocking(mIsBlocking); } - public Result Listen(int32 port, int32 backlog = 5) + public Result Listen(IPv4Address address, int32 port, int32 backlog = 5) { Debug.Assert(mHandle == INVALID_SOCKET); @@ -356,7 +356,7 @@ namespace System.Net SockAddr_in service; service.sin_family = AF_INET; - service.sin_addr = in_addr(127, 0, 0, 1); + service.sin_addr = address; service.sin_port = (uint16)htons((int16)port); if (bind(mHandle, &service, sizeof(SockAddr_in)) == SOCKET_ERROR) @@ -388,7 +388,7 @@ namespace System.Net SockAddr_in sockAddr; sockAddr.sin_family = AF_INET; - Internal.MemCpy(&sockAddr.sin_addr, hostEnt.h_addr_list[0], sizeof(in_addr)); + Internal.MemCpy(&sockAddr.sin_addr, hostEnt.h_addr_list[0], sizeof(IPv4Address)); sockAddr.sin_port = (uint16)htons((int16)port); if (connect(mHandle, &sockAddr, sizeof(SockAddr_in)) == SOCKET_ERROR)