HeXHubnick does not get removed from nicklist if user is connec…

My hub now contains list of actually disconnected users. Under hexhub ON HUB i can see Hub records 38/74, but list contains much more records than 38. From dc client i see 85 users. Netstat command line shows about 38 connections to hub ports. 48 users are disconnected but not removed from list.

!seen command with actually disconnected user nick shows:

Code
[10:47:37] *** Showing information on user Filtered1:

    Filtered1ip, connected: 2014-06-14 18:53:33 for 3 minutes 29 seconds
    Filtered1ip, connected: 2014-06-14 18:55:53 for 2 minutes 21 seconds
    Filtered1ip, connected: 2014-06-14 18:59:17 for 3 minutes 23 seconds
    Filtered1ip, connected: 2014-06-14 19:02:27 for 3 minutes 11 seconds
    Filtered1ip, connected: 2014-06-14 19:05:27 for 2 minutes 59 seconds
    Filtered1ip, connected: 2014-06-14 19:08:33 for 29 minutes 18 seconds
    Filtered1ip, connected: 2014-06-15 09:16:19 for 1 seconds
    Filtered1ip, connected: 2014-06-15 09:16:19 still online
    Filtered1ip, connected: 2014-06-15 09:16:29 for 8 seconds
    Filtered1ip, connected: 2014-06-15 09:16:45 for 1 seconds

[10:49:45] *** Showing information on user Filtered2:

    Filtered2ip, connected: 2014-06-15 02:52:59 for 1 seconds
    Filtered2ip, connected: 2014-06-15 02:53:03 for 7 minutes 18 seconds
    Filtered2ip, connected: 2014-06-15 03:00:21 for 1 seconds

As you can see, last record says that user was connected to hub one second

I have enabled Make sure users have the right adress in favorites and I receive large operator spam that users are connected from adress that I do not own.
Posted by Djjeshk on 2014-06-15 09:58

Replies

You can write your reply here.
Re: nick does not get removed from nicklist if user is connected to hub about one second.
Issue was new refferer check feature. If hub detects that user has wrong hub address it sends redirect message, $ForceMove command but it does not terminates connection leaving dublicate users with same nicks. It can be fixed adding
Code
call disconn
in \flood.h after
Code
sendbuffer1
at line 199.
Replied by Djjeshk on 2014-06-19 15:42#24
Re: nick does not get removed from nicklist if user is connected to hub about one second.
The problem with disconnecting user directly after sending redirect to him is that he will probably never receive that redirect. This is how non-blocking sockets work, they return instantly but they might not actually send the data instantly. The idea of this was that once user receives redirect, he closes the connection himself, though it seems that some of your users don't close their connections. The best solution for this would be after a couple of seconds checking if redirected user is still online, and if he is - close the connection, otherwise no action needed.
Replied by RoLex on 2014-06-20 09:58#25
You can write your reply here.