]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - src/client.c
Clarify connection setup.
[irc/rqf/shadowircd.git] / src / client.c
index 7573a6f8f2f0ae29f5fc5379848c5f7f6259867e..ac45624f0f180842cd14a4f181f0edecb211a562 100644 (file)
@@ -235,8 +235,14 @@ free_local_client(struct Client *client_p)
        rb_free(client_p->localClient->fullcaps);
        rb_free(client_p->localClient->opername);
        rb_free(client_p->localClient->mangledhost);
+       if (client_p->localClient->privset)
+               privilegeset_unref(client_p->localClient->privset);
 
-       ssld_decrement_clicount(client_p->localClient->ssl_ctl);
+       if(IsSSL(client_p))
+           ssld_decrement_clicount(client_p->localClient->ssl_ctl);
+           
+       if(IsCapable(client_p, CAP_ZIP))
+           ssld_decrement_clicount(client_p->localClient->z_ctl);
 
        rb_bh_free(lclient_heap, client_p->localClient);
        client_p->localClient = NULL;
@@ -1882,7 +1888,7 @@ close_connection(struct Client *client_p)
                ServerStats.is_sv++;
                ServerStats.is_sbs += client_p->localClient->sendB;
                ServerStats.is_sbr += client_p->localClient->receiveB;
-               ServerStats.is_sti += rb_current_time() - client_p->localClient->firsttime;
+               ServerStats.is_sti += (unsigned long long)(rb_current_time() - client_p->localClient->firsttime);
 
                /*
                 * If the connection has been up for a long amount of time, schedule
@@ -1908,7 +1914,7 @@ close_connection(struct Client *client_p)
                ServerStats.is_cl++;
                ServerStats.is_cbs += client_p->localClient->sendB;
                ServerStats.is_cbr += client_p->localClient->receiveB;
-               ServerStats.is_cti += rb_current_time() - client_p->localClient->firsttime;
+               ServerStats.is_cti += (unsigned long long)(rb_current_time() - client_p->localClient->firsttime);
        }
        else
                ServerStats.is_ni++;