From d6dde225bdedf24aee7bc0a47e76997a6372092b Mon Sep 17 00:00:00 2001 From: RipleyTom Date: Mon, 1 Jan 2024 18:42:12 +0100 Subject: [PATCH] Warn on use of privileged port on Linux --- rpcs3/Emu/Cell/lv2/sys_net/lv2_socket_native.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/rpcs3/Emu/Cell/lv2/sys_net/lv2_socket_native.cpp b/rpcs3/Emu/Cell/lv2/sys_net/lv2_socket_native.cpp index 6a38674506..34ce038fd4 100644 --- a/rpcs3/Emu/Cell/lv2/sys_net/lv2_socket_native.cpp +++ b/rpcs3/Emu/Cell/lv2/sys_net/lv2_socket_native.cpp @@ -182,7 +182,18 @@ s32 lv2_socket_native::bind(const sys_net_sockaddr& addr) last_bound_addr = addr; return CELL_OK; } - return -get_last_error(false); + + auto error = get_last_error(false); + +#ifdef __linux__ + if (error == SYS_NET_EACCES && std::bit_cast, u16>(native_addr.sin_port) < 1024) + { + sys_net.error("The game tried to bind a port < 1024 which is privileged on Linux\n" + "Consider setting rpcs3 privileges for it with: setcap 'cap_net_bind_service=+ep' /path/to/rpcs3"); + } +#endif + + return -error; } std::optional lv2_socket_native::connect(const sys_net_sockaddr& addr)