projects
/
silc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
updates.
[silc.git]
/
apps
/
silcd
/
server.c
diff --git
a/apps/silcd/server.c
b/apps/silcd/server.c
index 02b1cc894524885a72876b72154f1b7585d0580a..5c93bed5ff664308ecffe150b7bc1ed49fdcecec 100644
(file)
--- a/
apps/silcd/server.c
+++ b/
apps/silcd/server.c
@@
-772,7
+772,7
@@
SILC_TASK_CALLBACK(silc_server_connect_to_router_second)
silc_free(ctx->dest_id);
silc_free(ctx);
silc_schedule_task_del_by_callback(server->schedule,
silc_free(ctx->dest_id);
silc_free(ctx);
silc_schedule_task_del_by_callback(server->schedule,
- silc_server_failure_callback);
+
silc_server_failure_callback);
silc_server_disconnect_remote(server, sock, "Server closed connection: "
"Key exchange failed");
return;
silc_server_disconnect_remote(server, sock, "Server closed connection: "
"Key exchange failed");
return;
@@
-1215,6
+1215,7
@@
SILC_TASK_CALLBACK(silc_server_accept_new_connection_final)
SilcServer server = (SilcServer)ctx->server;
SilcSocketConnection sock = ctx->sock;
SilcServerHBContext hb_context;
SilcServer server = (SilcServer)ctx->server;
SilcSocketConnection sock = ctx->sock;
SilcServerHBContext hb_context;
+ SilcUnknownEntry entry = (SilcUnknownEntry)sock->user_data;
void *id_entry = NULL;
SILC_LOG_DEBUG(("Start"));
void *id_entry = NULL;
SILC_LOG_DEBUG(("Start"));
@@
-1241,6
+1242,8
@@
SILC_TASK_CALLBACK(silc_server_accept_new_connection_final)
return;
}
return;
}
+ entry->data.last_receive = time(NULL);
+
switch (ctx->conn_type) {
case SILC_SOCKET_TYPE_CLIENT:
{
switch (ctx->conn_type) {
case SILC_SOCKET_TYPE_CLIENT:
{
@@
-1363,7
+1366,7
@@
SILC_TASK_CALLBACK(silc_server_accept_new_connection_final)
out:
silc_schedule_task_del_by_callback(server->schedule,
out:
silc_schedule_task_del_by_callback(server->schedule,
- silc_server_failure_callback);
+
silc_server_failure_callback);
silc_protocol_free(protocol);
if (ctx->packet)
silc_packet_context_free(ctx->packet);
silc_protocol_free(protocol);
if (ctx->packet)
silc_packet_context_free(ctx->packet);
@@
-1493,7
+1496,6
@@
SILC_TASK_CALLBACK(silc_server_packet_process)
/* Get keys and stuff from ID entry */
idata = (SilcIDListData)sock->user_data;
if (idata) {
/* Get keys and stuff from ID entry */
idata = (SilcIDListData)sock->user_data;
if (idata) {
- idata->last_receive = time(NULL);
cipher = idata->receive_key;
hmac = idata->hmac_receive;
}
cipher = idata->receive_key;
hmac = idata->hmac_receive;
}
@@
-1673,6
+1675,7
@@
void silc_server_packet_parse_type(SilcServer server,
SilcPacketContext *packet)
{
SilcPacketType type = packet->type;
SilcPacketContext *packet)
{
SilcPacketType type = packet->type;
+ SilcIDListData idata = (SilcIDListData)sock->user_data;
SILC_LOG_DEBUG(("Parsing packet type %d", type));
SILC_LOG_DEBUG(("Parsing packet type %d", type));
@@
-1750,6
+1753,7
@@
void silc_server_packet_parse_type(SilcServer server,
SILC_LOG_DEBUG(("Channel Message packet"));
if (packet->flags & SILC_PACKET_FLAG_LIST)
break;
SILC_LOG_DEBUG(("Channel Message packet"));
if (packet->flags & SILC_PACKET_FLAG_LIST)
break;
+ idata->last_receive = time(NULL);
silc_server_channel_message(server, sock, packet);
break;
silc_server_channel_message(server, sock, packet);
break;
@@
-1803,6
+1807,7
@@
void silc_server_packet_parse_type(SilcServer server,
SILC_LOG_DEBUG(("Private Message packet"));
if (packet->flags & SILC_PACKET_FLAG_LIST)
break;
SILC_LOG_DEBUG(("Private Message packet"));
if (packet->flags & SILC_PACKET_FLAG_LIST)
break;
+ idata->last_receive = time(NULL);
silc_server_private_message(server, sock, packet);
break;
silc_server_private_message(server, sock, packet);
break;