866 |
|
source_p->localClient->auth = NULL; |
867 |
|
} |
868 |
|
|
869 |
< |
/* This source_p could have status of one of STAT_UNKNOWN, STAT_CONNECTING |
869 |
> |
/* |
870 |
> |
* This source_p could have status of one of STAT_UNKNOWN, STAT_CONNECTING |
871 |
|
* STAT_HANDSHAKE or STAT_UNKNOWN |
872 |
|
* all of which are lumped together into unknown_list |
873 |
|
* |
886 |
|
Count.local--; |
887 |
|
|
888 |
|
if (HasUMode(source_p, UMODE_OPER)) |
888 |
– |
{ |
889 |
|
if ((m = dlinkFindDelete(&oper_list, source_p)) != NULL) |
890 |
|
free_dlink_node(m); |
891 |
– |
} |
891 |
|
|
892 |
|
assert(dlinkFind(&local_client_list, source_p)); |
893 |
|
dlinkDelete(&source_p->localClient->lclient_node, &local_client_list); |
914 |
|
source_p->localClient->send.bytes>>10, |
915 |
|
source_p->localClient->recv.bytes>>10); |
916 |
|
} |
917 |
< |
|
919 |
< |
/* As soon as a client is known to be a server of some sort |
920 |
< |
* it has to be put on the serv_list, or SJOIN's to this new server |
921 |
< |
* from the connect burst will not be seen. |
922 |
< |
* XXX - TBV. This is not true. The only place where we put a server on |
923 |
< |
* serv_list is in server_estab right now after registration process. |
924 |
< |
* And only after this, a burst is sent to the remote server, i.e. we never |
925 |
< |
* send a burst to STAT_CONNECTING, or STAT_HANDSHAKE. This will need |
926 |
< |
* more investigation later on, but for now, it's not a problem after all. |
927 |
< |
*/ |
928 |
< |
if (IsServer(source_p) || IsConnecting(source_p) || |
929 |
< |
IsHandshake(source_p)) |
917 |
> |
else if (IsServer(source_p)) |
918 |
|
{ |
919 |
< |
if (dlinkFind(&serv_list, source_p)) |
920 |
< |
{ |
933 |
< |
dlinkDelete(&source_p->localClient->lclient_node, &serv_list); |
934 |
< |
unset_chcap_usage_counts(source_p); |
935 |
< |
} |
919 |
> |
assert(Count.myserver > 0); |
920 |
> |
--Count.myserver; |
921 |
|
|
922 |
< |
if (IsServer(source_p)) |
923 |
< |
Count.myserver--; |
922 |
> |
assert(dlinkFind(&serv_list, source_p)); |
923 |
> |
dlinkDelete(&source_p->localClient->lclient_node, &serv_list); |
924 |
> |
unset_chcap_usage_counts(source_p); |
925 |
|
} |
926 |
|
|
927 |
|
if (!IsDead(source_p)) |