X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=src%2Fclient.c;h=963ec4dd5fb8b1b62a4acb1d99fa59500cd00c33;hb=4c75c8f9eb45c0a696f992c277dcc8ffb77fa3ba;hp=e515a454e0082ae731d4bc9b15f3fa24c0730b76;hpb=86214eabc4bcdb19fc4171ef5bf3c231cbff6518;p=umurmur.git diff --git a/src/client.c b/src/client.c index e515a45..963ec4d 100644 --- a/src/client.c +++ b/src/client.c @@ -259,6 +259,8 @@ int Client_add(int fd, struct sockaddr_in *remote) } newclient->availableBandwidth = maxBandwidth; Timer_init(&newclient->lastActivity); + Timer_init(&newclient->connectTime); + Timer_init(&newclient->idleTime); newclient->sessionId = findFreeSessionId(); if (newclient->sessionId < 0) Log_fatal("Could not find a free session ID"); @@ -317,6 +319,8 @@ void Client_free(client_t *client) free(client->release); if (client->os) free(client->os); + if (client->os_version) + free(client->os_version); if (client->username) free(client->username); if (client->context) @@ -719,6 +723,8 @@ int Client_voiceMsg(client_t *client, uint8_t *data, int len) goto out; /* Discard */ client->availableBandwidth -= packetsize; + Timer_restart(&client->idleTime); + counter = Pds_get_numval(pdi); /* step past session id */ do { counter = Pds_next8(pdi);