From 7ad7a5c30e47d85d3f1ab536e762aea6e15b73d0 Mon Sep 17 00:00:00 2001 From: Pekka Riikonen Date: Wed, 27 Nov 2002 15:01:51 +0000 Subject: [PATCH] Do not send invite list back unless it's modified. --- CHANGES | 6 ++++++ apps/silcd/command.c | 14 ++++++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index ae92f9e7..46f022ef 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,9 @@ +Wed Nov 27 16:01:11 CET 2002 Pekka Riikonen + + * Do not send invite list back unless asked (when sending + no arguments) or when list was modified. Affected file + silcd/command.c. + Mon Nov 25 18:21:43 EET 2002 Pekka Riikonen * The silc_argument_get_[first/next] now return the argument diff --git a/apps/silcd/command.c b/apps/silcd/command.c index e5f6d0a4..b372dc80 100644 --- a/apps/silcd/command.c +++ b/apps/silcd/command.c @@ -1237,13 +1237,23 @@ SILC_SERVER_CMD_FUNC(invite) silc_argument_get_arg_type(cmd->args, 3, NULL), list); + /* Send invite list back only if the list was modified, or now arguments + was given. */ + type = 0; + argc = silc_argument_get_arg_num(cmd->args); + if (argc == 1) + type = 1; + if (silc_argument_get_arg_type(cmd->args, 3, &len)) + type = 1; + /* Send command reply */ tmp = silc_argument_get_arg_type(cmd->args, 1, &len); packet = silc_command_reply_payload_encode_va(SILC_COMMAND_INVITE, SILC_STATUS_OK, 0, ident, 2, 2, tmp, len, - 3, list ? list->data : NULL, - list ? list->len : 0); + 3, type && list ? + list->data : NULL, + type && list ? list->len : 0); silc_server_packet_send(server, cmd->sock, SILC_PACKET_COMMAND_REPLY, 0, packet->data, packet->len, FALSE); silc_buffer_free(packet); -- 2.24.0