projects
/
silc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Rewrote WHOIS, WHOWAS and IDENTIFY commands.
[silc.git]
/
apps
/
silcd
/
command_reply.c
diff --git
a/apps/silcd/command_reply.c
b/apps/silcd/command_reply.c
index bff81fa6644965d02569106e54f6924721fe894d..1044a2b7910533dccf28eb1cad49b94a8801c596 100644
(file)
--- a/
apps/silcd/command_reply.c
+++ b/
apps/silcd/command_reply.c
@@
-376,6
+376,8
@@
silc_server_command_reply_whowas_save(SilcServerCommandReplyContext cmd)
return FALSE;
}
return FALSE;
}
+ client->data.status |= SILC_IDLIST_STATUS_RESOLVED;
+ client->data.status &= ~SILC_IDLIST_STATUS_RESOLVING;
client->data.status &= ~SILC_IDLIST_STATUS_REGISTERED;
client->servername = servername;
} else {
client->data.status &= ~SILC_IDLIST_STATUS_REGISTERED;
client->servername = servername;
} else {
@@
-386,10
+388,13
@@
silc_server_command_reply_whowas_save(SilcServerCommandReplyContext cmd)
silc_free(client->nickname);
silc_free(client->username);
silc_free(client->nickname);
silc_free(client->username);
+ silc_free(client->servername);
client->nickname = nick;
client->username = strdup(username);
client->servername = servername;
client->nickname = nick;
client->username = strdup(username);
client->servername = servername;
+ client->data.status |= SILC_IDLIST_STATUS_RESOLVED;
+ client->data.status &= ~SILC_IDLIST_STATUS_RESOLVING;
/* Remove the old cache entry and create a new one */
silc_idcache_del_by_context(global ? server->global_list->clients :
/* Remove the old cache entry and create a new one */
silc_idcache_del_by_context(global ? server->global_list->clients :
@@
-436,8
+441,13
@@
SILC_SERVER_CMD_REPLY_FUNC(whowas)
}
out:
}
out:
+ silc_server_command_process_error(cmd, error);
SILC_SERVER_PENDING_EXEC(cmd, SILC_COMMAND_WHOWAS);
SILC_SERVER_PENDING_EXEC(cmd, SILC_COMMAND_WHOWAS);
+ silc_server_command_reply_free(cmd);
+ return;
+
err:
err:
+ silc_server_command_process_error(cmd, error);
silc_server_command_reply_free(cmd);
}
silc_server_command_reply_free(cmd);
}