updates
authorPekka Riikonen <priikone@silcnet.org>
Mon, 10 Jul 2000 05:33:00 +0000 (05:33 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Mon, 10 Jul 2000 05:33:00 +0000 (05:33 +0000)
CHANGES
README
TODO
doc/draft-riikonen-silc-spec-00.nroff
includes/silcincludes.h

diff --git a/CHANGES b/CHANGES
index 228f511f600d3ac1cce3a82839b055af748ccdba..b34740da794966a9cd046b7dd84feede5d27ca7c 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,35 @@
+Sun Jul  9 15:19:24 EEST 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Finally made the SKE implementation compliant to the protocol
+         specification.  All mp integers are now binary encoded as
+         opposed being HEX encoded.
+
+       * Added lib/silcmath/mpbin.[ch].  Encoding mp intergers to and
+         from binary data.
+
+       * Added into lib/silccore/silcutil.[ch] PEM encoding/decoding
+         functions: silc_[encode/decode]_pem.  Also added function
+         silc_encode_pem_file to PEM encode with newlines ('\n') for
+         saving into a file.
+
+       * SILC public keys are now encoded either PEM or binary.  Same
+         option is for private keys as well.  By default private keys
+         are binary encoded and public keys PEM encoded.  Silly HEX
+         encoding were removed.
+
+       * Added into lib/silccrypt/silchash.[ch] silc_hash_fingerprint
+         function to create fingerprints.
+
+       * Fixed a bug in SHA1; does not change the original data anymore.
+
+       * Partly implemented INFO command on client and server side.
+         Fixed CLEAR command.  Changes to SERVER command; show current
+         server(s) when giving command without arguments.  Added
+         VERSION command to client.
+
+       * Added check to server that unregistered connections cannot
+         execute commands (unless it is specificly allowed).
+
 Thu Jul  6 18:12:24 EEST 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
        * Fixed screen refresh.
diff --git a/README b/README
index b4ed9738a79100f62a1cba15e3130d5806a105ef..f9524fe6cb6bea477d8b3483c847e39fa414ae81 100644 (file)
--- a/README
+++ b/README
@@ -88,6 +88,11 @@ Following commands has been, at least partly, implemented:
                Pings server.  Only locally connected server may be 
                pinged.
 
+       /INFO   [<server>]
+
+               Requests information about a server.  If argument is
+               not specified current server is used.
+
        /QUIT
 
                Quits session.  Connection to remote server is closed.
@@ -96,6 +101,10 @@ Following commands has been, at least partly, implemented:
 
                Clears current screen.
 
+       /VERSION
+
+               Shows client version.
+
 
 Features
 ========
diff --git a/TODO b/TODO
index ed1a48904cc7ae01db7a92c1fd178a8016e19b06..bb4bb21503e0293b85740684fe846b9b92098bcb 100644 (file)
--- a/TODO
+++ b/TODO
@@ -113,12 +113,6 @@ TODO In SILC Client
    be implemented (See corresponding code from server).  Error handling
    in the KE protocol is also in pretty bad shape in client.
 
- o Configuration file loading from global and from local dirs.  This
-   is currently missing and I guess the global is only used.  Old SILC
-   version (in 1997) had ~./silc directory that I guess should be done
-   now as well.  The code for handling those exists but not in current
-   source tree.
-
  o Configuration file format - could be better.
 
  o Write help files for commands.  Nice format for the help files should
@@ -205,11 +199,6 @@ TODO In SILC Server
 TODO In SILC Libraries
 ======================
 
- o Public key verification in SKE (SILC Key Exchange) protocol is missing,
-   thus currently we trust on all public keys.  This probably doesn't cause
-   bad problems but the mechanism of verifying it from local database
-   (from files) needs to be done (it can open man-in-the-middle-attacks).
-
  o Implement PFS (Perfect Forward Secrecy) flag in SKE (and in client and
    server, actually).  If PFS is set, re-key must cause new key exchange.
    This is required by the SILC protocol.
@@ -227,10 +216,6 @@ TODO In SILC Libraries
    I've done now is bad and should be removed as soon as possible (or 
    the protocol should then state the method of how they should be done).
 
- o SILC public key file type is bad.  I'd like to see PEM encoded files.
-   I have public domain code for base64 encoding but it needs to be 
-   rewritten.
-
  o Slow ciphers should be removed.  I think we don't need more than
    the AES finalists plus blowfish and RC5.
 
index a0dd359fc1f759812a85d400e3bef15c744598dc..e3446e08a339a80535ca24bf37724aeebd8ef2ed 100644 (file)
@@ -2035,8 +2035,8 @@ List of all defined commands in SILC follows.
             SILC_STATUS_OK
             SILC_STATUS_ERR_WILDCARDS
             SILC_STATUS_ERR_NOT_REGISTERED
+            SILC_STATUS_ERR_NOT_ENOUGH_PARAMS
             SILC_STATUS_ERR_TOO_MANY_PARAMS
-            SILC_STATUS_ERR_NO_SUCH_SERVER_ID
             SILC_STATUS_ERR_NO_SUCH_SERVER
 
 
@@ -2294,10 +2294,11 @@ List of all defined commands in SILC follows.
 
    18   SILC_COMMAND_CMODE
 
-        Max Arguments:  6
+        Max Arguments:  8
             Arguments:  (1) <Channel ID>    (2) <channel mode mask>
                         (3) [<user limit>]  (4) [<passphrase>]
-                        (5) [<Client ID>]   (6) [<cipher>[:<key len>]]
+                        (5) [<ban mask>]    (6) [<invite list>]
+                        (7) [<Client ID>]   (8) [<cipher>[:<key len>]]
 
         This command is used by client to set or change channel flags on
         a channel.  Channel has several modes that set various properties
@@ -2435,8 +2436,22 @@ List of all defined commands in SILC follows.
               Typical implementation would use [+|-]b on user interface
               to set/unset this mode.
 
+
+           0x0100    SILC_CMODE_INVITE
+
+              Invite list has been set to the channel.  The invite list
+              can be used to mark the clients that is able to join
+              channel without being invited when the channel is set to
+              be invite-only channel.  The <invite list> argument is the
+              set invite mask.  When unsetting entry from the invite list
+              the entry must be provided as argument.  Channel founder and
+              channel operator may set/unset this mode.
+
+              Typical implementation would use [+|-]I on user interface
+              to set/unset this mode.
+
         
-           0x0100    SILC_CMODE_OPERATOR
+           0x0200    SILC_CMODE_OPERATOR
 
               Sets channel operator privileges on the channel for a
               client on the channel.  The <Client ID> argument is the
@@ -2448,7 +2463,7 @@ List of all defined commands in SILC follows.
               to set/unset this mode.
 
 
-           0x0200    SILC_CMODE_CIPHER
+           0x0400    SILC_CMODE_CIPHER
 
               Sets specific cipher to be used to protect channel
               traffic.  The <cipher> argument is the requested cipher.
index 83d8b2a266a6a724f2c0e5749695dc4fb7f75b49..01993c60d24e1db43e39d1ba4216d4d7e3d943da 100644 (file)
 /* Math library includes */
 #include "silcmp.h"
 #include "modinv.h"
+#include "mpbin.h"
 #include "silcprimegen.h"
 
 /* Crypto library includes */