updates.
[silc.git] / apps / silcd / packet_send.c
index 424a27333fc3cdce4bb4ccfcc143a0b730c6ca80..ab5b6219e96f24d9c07f432b06bbbb6a4a100b31 100644 (file)
@@ -781,7 +781,8 @@ void silc_server_packet_relay_to_channel(SilcServer server,
   silc_hash_table_list(channel->user_list, &htl);
   while (silc_hash_table_get(&htl, NULL, (void *)&chl)) {
     client = chl->client;
-    if (!client || client == sender_entry)
+    if (!client || client == sender_entry || 
+       chl->mode & SILC_CHANNEL_UMODE_BLOCK_MESSAGES)
       continue;
 
     /* If the client has set router it means that it is not locally
@@ -1720,6 +1721,7 @@ void silc_server_send_command_reply(SilcServer server,
                                    SilcSocketConnection sock,
                                    SilcCommand command, 
                                    SilcCommandStatus status,
+                                   SilcCommandStatus error,
                                    SilcUInt16 ident,
                                    SilcUInt32 argc, ...)
 {
@@ -1728,8 +1730,8 @@ void silc_server_send_command_reply(SilcServer server,
 
   va_start(ap, argc);
 
-  packet = silc_command_reply_payload_encode_vap(command, status, ident, 
-                                                argc, ap);
+  packet = silc_command_reply_payload_encode_vap(command, status, error,
+                                                ident, argc, ap);
   silc_server_packet_send(server, sock, SILC_PACKET_COMMAND_REPLY, 0,
                          packet->data, packet->len, TRUE);
   silc_buffer_free(packet);
@@ -1745,6 +1747,7 @@ void silc_server_send_dest_command_reply(SilcServer server,
                                         SilcIdType dst_id_type,
                                         SilcCommand command, 
                                         SilcCommandStatus status,
+                                        SilcCommandStatus error,
                                         SilcUInt16 ident,
                                         SilcUInt32 argc, ...)
 {
@@ -1753,8 +1756,8 @@ void silc_server_send_dest_command_reply(SilcServer server,
 
   va_start(ap, argc);
 
-  packet = silc_command_reply_payload_encode_vap(command, status, ident, 
-                                                argc, ap);
+  packet = silc_command_reply_payload_encode_vap(command, status, error,
+                                                ident, argc, ap);
   silc_server_packet_send_dest(server, sock, SILC_PACKET_COMMAND_REPLY, 0,
                               dst_id, dst_id_type, packet->data, 
                               packet->len, TRUE);