When max logins limit is reached, the server currently behaves as below:
Accepts connections from new clients and keeps them open
Let's the new clients issue some commands (like I can go ahead and issue as many invalid commands as I want)
When the client sends a valid USER command with username argument, the server then figures out that it has reached the max limit.
I think t would probably makes sense to change the behavior as follows:
When a new client comes in, check if we reached the cap, and if so, send 421 message right away, instead of sending a 2xxx reply.