I think we all understand the benefits of this.
Here is a thought that would produce the same effect, but would not require a second port for the hub, and no additional protocol commands.
Normal Login Protocol
C>H: Connection
H>C: $Lock ...
C>H: $Key ...
C>H: $ValidateNick ...
C>H: $MyINFO ...
H>C: $HubName ...
H>C: $Hello ... (at this point $Hello is sent to all clients)
Search Bot Login
C>H: Connection
H>C: $Lock ...
C>H: $Key ...
C>H: $ValidateNick ...
H>C: $HubName ...
H>C: $Hello ... (at this point $Hello is not sent to other clients)
Knowing that the $MyINFO command is required to correctly join a hub.
If this command is not sent by the client, the hub assumes the client is a search bot.
When in this state...
- only $Search, $SR, $GetNickList, $NickList and $Quit are valid messages send back and forth.
- The hub would not send this client the following messages
$To, $Hello (regarding other's entering the hub), $MyINFO, $Search, etc...
- The hub would not accept the following command from the client
$To, $GetINFO, $ConnectToMe, etc...
- If $MyINFO is sent by the client then the hub assumes it is not a search bot and send a $Hello to the rest of the connected clients
Is this a good idea?
Is this possible?
Should I crawl back in my hole