aboutsummaryrefslogtreecommitdiff
path: root/src/core/internal_network/network.cpp
diff options
context:
space:
mode:
authorMako <137927095+Takoroka@users.noreply.github.com>2026-11-02 19:48:22 -0500
committerGitHub <noreply@github.com>2026-11-02 19:48:22 -0500
commit28051fc764f6d2a6f9c64f8166c02dd2d13d77e7 (patch)
tree3aa8c43b64f68d23d3c24b00e0e1498bc4b4c4a1 /src/core/internal_network/network.cpp
parentbd12e7c4ef7ddfcc56d88ee71612a671f582e47b (diff)
parentd8d16713b891245fd786b27d375f68d695c76d0e (diff)
Merge pull request #313 from cira0100/ldn/room-handshake
Diffstat (limited to 'src/core/internal_network/network.cpp')
-rw-r--r--src/core/internal_network/network.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/core/internal_network/network.cpp b/src/core/internal_network/network.cpp
index 01d37fb35b..806562076d 100644
--- a/src/core/internal_network/network.cpp
+++ b/src/core/internal_network/network.cpp
@@ -722,6 +722,17 @@ std::optional<IPv4Address> GetHostIPv4Address() {
return TranslateIPv4(network_interface->ip_address);
}
+std::optional<IPv4Address> GetRoomIPv4Address() {
+ if (const auto room_member = GetRoomMember().lock()) {
+ // The room host and moderators are in the Moderator state instead of Joined
+ const auto state = room_member->GetState();
+ if (state == RoomMember::State::Joined || state == RoomMember::State::Moderator) {
+ return room_member->GetFakeIpAddress();
+ }
+ }
+ return std::nullopt;
+}
+
std::string IPv4AddressToString(IPv4Address ip_addr) {
std::array<char, INET_ADDRSTRLEN> buf = {};
ASSERT(inet_ntop(AF_INET, &ip_addr, buf.data(), sizeof(buf)) == buf.data());
@@ -1084,6 +1095,10 @@ bool Socket::IsOpened() const {
return fd != INVALID_SOCKET;
}
+bool Socket::AcceptsProxyPacket(const ProxyPacket& packet) {
+ return false;
+}
+
void Socket::HandleProxyPacket(const ProxyPacket& packet) {
LOG_WARNING(Network, "ProxyPacket received, but not in Proxy mode!");
}