updates.
authorPekka Riikonen <priikone@silcnet.org>
Thu, 29 Mar 2001 16:31:03 +0000 (16:31 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Thu, 29 Mar 2001 16:31:03 +0000 (16:31 +0000)
CHANGES
apps/silcd/command.c
doc/draft-riikonen-silc-pp-01.nroff
lib/silccore/silcchannel.h

diff --git a/CHANGES b/CHANGES
index 87385275867827abdd7a16784760312ce2d4f54e..83f0304c1ec084bc059f902404df0d23628097ea 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -4,6 +4,9 @@ Thu Mar 29 19:10:28 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
          crashed since it did not handle the fact that there is no cipher
          called "3" and didn't check the error condition.  Now fixed.
 
          crashed since it did not handle the fact that there is no cipher
          called "3" and didn't check the error condition.  Now fixed.
 
+       * Added SILC_MESSAGE_FLAG_REQUEST message flag as generic request
+         flag.  It can be used to send message requests.
+
 Thu Mar 29 12:26:25 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
        * Implemented the RESTART command in the client.
 Thu Mar 29 12:26:25 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
        * Implemented the RESTART command in the client.
index 0f712ea04bcee725ef4f60d754defaff0ff78287..ec42a1f6312853a748796a4955a53da0becb7294 100644 (file)
@@ -2947,6 +2947,12 @@ SILC_SERVER_CMD_FUNC(join)
       if (server->standalone) {
        channel = silc_server_create_new_channel(server, server->id, cipher, 
                                                 hmac, channel_name, TRUE);
       if (server->standalone) {
        channel = silc_server_create_new_channel(server, server->id, cipher, 
                                                 hmac, channel_name, TRUE);
+       if (!channel) {
+         silc_server_command_send_status_reply(cmd, SILC_COMMAND_JOIN,
+                                    SILC_STATUS_ERR_UNKNOWN_ALGORITHM);
+         goto out;
+       }
+
        umode = (SILC_CHANNEL_UMODE_CHANOP | SILC_CHANNEL_UMODE_CHANFO);
        created = TRUE;
 
        umode = (SILC_CHANNEL_UMODE_CHANOP | SILC_CHANNEL_UMODE_CHANFO);
        created = TRUE;
 
@@ -2988,6 +2994,12 @@ SILC_SERVER_CMD_FUNC(join)
          /* Channel really does not exist, create it */
          channel = silc_server_create_new_channel(server, server->id, cipher, 
                                                   hmac, channel_name, TRUE);
          /* Channel really does not exist, create it */
          channel = silc_server_create_new_channel(server, server->id, cipher, 
                                                   hmac, channel_name, TRUE);
+         if (!channel) {
+           silc_server_command_send_status_reply(cmd, SILC_COMMAND_JOIN,
+                                      SILC_STATUS_ERR_UNKNOWN_ALGORITHM);
+           goto out;
+         }
+
          umode = (SILC_CHANNEL_UMODE_CHANOP | SILC_CHANNEL_UMODE_CHANFO);
          created = TRUE;
        }
          umode = (SILC_CHANNEL_UMODE_CHANOP | SILC_CHANNEL_UMODE_CHANFO);
          created = TRUE;
        }
@@ -3012,6 +3024,12 @@ SILC_SERVER_CMD_FUNC(join)
        /* Channel really does not exist, create it */
        channel = silc_server_create_new_channel(server, server->id, cipher, 
                                                 hmac, channel_name, TRUE);
        /* Channel really does not exist, create it */
        channel = silc_server_create_new_channel(server, server->id, cipher, 
                                                 hmac, channel_name, TRUE);
+       if (!channel) {
+         silc_server_command_send_status_reply(cmd, SILC_COMMAND_JOIN,
+                                      SILC_STATUS_ERR_UNKNOWN_ALGORITHM);
+         goto out;
+       }
+
        umode = (SILC_CHANNEL_UMODE_CHANOP | SILC_CHANNEL_UMODE_CHANFO);
        created = TRUE;
       }
        umode = (SILC_CHANNEL_UMODE_CHANOP | SILC_CHANNEL_UMODE_CHANFO);
        created = TRUE;
       }
index b289427d4f6a9f987dbed5d651297f09e1b76b51..2920bd8c2c6104ecae247d67e9823746288e3323 100644 (file)
@@ -1493,7 +1493,12 @@ o Flags (2 bytes) - Includes the flags of the channel
           The message is for example and informational notice
           type message.
 
           The message is for example and informational notice
           type message.
 
-  0x0010 - 0x0200 RESERVED
+  0x0010  SILC_MESSAGE_FLAG_REQUEST
+
+          This is a generic request flag to send request
+          messages.
+
+  0x0020 - 0x0200 RESERVED
 
           Reserved for future flags
 
 
           Reserved for future flags
 
index 53b249901b84697eee41bd03b5f761c9419937d4..813ad69437c4c64596da9e140c3195cc623d5106 100644 (file)
@@ -44,7 +44,8 @@ typedef unsigned short SilcMessageFlags;
 #define SILC_MESSAGE_FLAG_NOREPLY     0x0002
 #define SILC_MESSAGE_FLAG_ACTION      0x0004
 #define SILC_MESSAGE_FLAG_NOTICE      0x0008
 #define SILC_MESSAGE_FLAG_NOREPLY     0x0002
 #define SILC_MESSAGE_FLAG_ACTION      0x0004
 #define SILC_MESSAGE_FLAG_NOTICE      0x0008
-#define SILC_MESSAGE_FLAG_RESERVED    0x0010 /* to 0x0200 */
+#define SILC_MESSAGE_FLAG_REQUEST     0x0010
+#define SILC_MESSAGE_FLAG_RESERVED    0x0020 /* to 0x0200 */
 #define SILC_MESSAGE_FLAG_PRIVATE     0x0400 /* to 0x8000 */
 
 /* Prototypes */
 #define SILC_MESSAGE_FLAG_PRIVATE     0x0400 /* to 0x8000 */
 
 /* Prototypes */