AresChat / sb0t

GNU Affero General Public License v3.0
7 stars 9 forks source link

Possible DOS issue #70

Open howspooky opened 2 years ago

howspooky commented 2 years ago

Users are reporting that when the server is flooded that no other user can join and receive the Disconnected(10057) message. If this is because they're flooding from the same IP address or not, yet to check.

howspooky commented 2 years ago

https://www.youtube.com/watch?v=2tFFdi1MPBo

howspooky commented 2 years ago

The issue is related to this code. It's been done like this because the server only uses 1 thread and if we accept an infinite amount of sockets then we could end up with a different type of DOS issue. Ideally accepting new sockets needs to be on its own thread, along with reading/writing of the packets. This could result in concurrency issues though as the server wasn't really written with any of this in mind, it is more of a lightweight alternative to the inherently bad Ares chat server.