Requested Attributes in WHOIS implies LAG_STRICT for the command.
authorPekka Riikonen <priikone@silcnet.org>
Mon, 14 Oct 2002 16:57:27 +0000 (16:57 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Mon, 14 Oct 2002 16:57:27 +0000 (16:57 +0000)
apps/silcd/server_query.c

index 895ee44d78f5cca562eafbbdf1aaa0ff3c4cd3af..127e86fdcca90a88811d247ee1f2cc67a4f21a88 100644 (file)
@@ -426,8 +426,16 @@ void silc_server_query_parse(SilcServer server, SilcServerQuery query)
 
     /* Get requested attributes if set */
     tmp = silc_argument_get_arg_type(cmd->args, 3, &tmp_len);
-    if (tmp && tmp_len <= SILC_ATTRIBUTE_MAX_REQUEST_LEN)
+    if (tmp && tmp_len <= SILC_ATTRIBUTE_MAX_REQUEST_LEN) {
       query->attrs = silc_attribute_payload_parse(tmp, tmp_len);
+
+      /* When Requested Attributes is present we will assure that this
+        client cannot execute the WHOIS command too fast.  This would be
+        same as having SILC_CF_LAG_STRICT. */
+      if (cmd->sock->type == SILC_SOCKET_TYPE_CLIENT &&
+         cmd->sock->user_data)
+       ((SilcClientEntry)cmd->sock->user_data)->fast_command = 6;
+    }
     break;
 
   case SILC_COMMAND_WHOWAS: