updates
authorPekka Riikonen <priikone@silcnet.org>
Wed, 19 Jul 2000 07:03:23 +0000 (07:03 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Wed, 19 Jul 2000 07:03:23 +0000 (07:03 +0000)
CHANGES
README
doc/draft-riikonen-silc-ke-auth-00.nroff
doc/draft-riikonen-silc-spec-00.nroff
includes/clientincludes.h
includes/silcincludes.h
includes/version.h

diff --git a/CHANGES b/CHANGES
index d5d59fa0e2a6dedadeba7a56de18861aae9fc972..90e6874f932d73fce73005c70878cb6e73015a7e 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -15,6 +15,8 @@ Tue Jul 18 20:41:20 EEST 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
          Many changes in lib/silcske/silcske.[ch] and in
          lib/silcske/payload.[ch].
 
+       * Added ^U functionality, clear input line.  Patch from cras.
+
 Mon Jul 17 23:33:26 EEST 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
        * Mainly small bugfixes on core library.  Fixed some debugging
diff --git a/README b/README
index f9524fe6cb6bea477d8b3483c847e39fa414ae81..dad553daea25e75bad4732f585caad733cc43507 100644 (file)
--- a/README
+++ b/README
@@ -93,6 +93,13 @@ Following commands has been, at least partly, implemented:
                Requests information about a server.  If argument is
                not specified current server is used.
 
+       /AWAY   [<message>]
+
+               Sets away message.  When private message is received and
+               away message is set the client automatically replies to
+               the sender with the away message.  To remove away message
+               give the command without arguments.
+
        /QUIT
 
                Quits session.  Connection to remote server is closed.
index 58c7444c3d21a2968a26e00c9909ff7201639c45..9dc849eddc30db3755e213c7604f30ad22b61b6b 100644 (file)
@@ -242,6 +242,12 @@ not include spaces (` ').
 +                                                               +
 |                                                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+|     Version String Length     |                               |
++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
+|                                                               |
+~                         Version String                        ~
+|                                                               |
++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |   Key Exchange Grp Length     |                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
 |                                                               |
@@ -308,38 +314,47 @@ o Flags (1 byte) - Indicates flags to be used in the key
        must not be set.
 
 o Payload Length (2 bytes) - Length of the entire Key Exchange
-  Start payload.
+  Start payload, not including any other field.
 
 o Cookie (16 bytes) - Cookie that uniforms this payload so
   that each of the party cannot determine the payload before
   hand.
 
+o Version String Length (2 bytes) - The length of the Version
+  String field, not including any other field.
+
+o Version String (variable length) - Indicates the version of
+  the sender of this payload.  Initiator sets this when sending
+  the payload and responder sets this when it replies by sending
+  this payload.  See [SILC1] for definition of the version
+  string format.
+
 o Key Exchange Grp Length (2 bytes) - The length of the
-  key exchange group list, including this field as well.
+  key exchange group list, not including any other field.
 
 o Key Exchange Group (variable length) - The list of
   key exchange groups.  See the section 2.1.2 SILC Key Exchange
   Groups for definitions of these groups.
 
 o PKCS Alg Length (2 bytes) - The length of the PKCS algorithms
-  list, including this field as well.
+  list, not including any other field.
 
 o PKCS Algorithms (variable length) - The list of PKCS 
   algorithms.
 
 o Encryption Alg Length (2 bytes) - The length of the encryption
-  algorithms list, including this field as well.
+  algorithms list, not including any other field.
 
 o Encryption Algorithms (variable length) - The list of
   encryption algorithms.
 
 o Hash Alg Length (2 bytes) - The length of the Hash algorithms
-  list, including this field as well.
+  list, not including any other field.
 
 o Hash Algorithms (variable length) - The list of Hash algorithms.
 
 o Compression Alg Length (2 bytes) - The length of the
-  compression algorithms list, including this field as well.
+  compression algorithms list, not including any other field.
 
 o Compression Algorithms (variable length) - The list of 
   compression algorithms.
@@ -402,9 +417,8 @@ Figure 2:  Key Exchange 1 Payload
 
 
 .in 6
-o Public Key Length (2 bytes) - The length of the public key
-  (or certificate), including this field and public key type
-  field as well.
+o Public Key Length (2 bytes) - The length of the Public Key
+  (or certificate) field, not including any other field.
 
 o Public Key Type (2 bytes) - The public key (or certificate) 
   type.  This field indicates the type of the public key in 
@@ -426,8 +440,8 @@ o Public Key Type (2 bytes) - The public key (or certificate)
   sending SILC_PACKET_FAILURE message.
 
 o Public Data Length (2 bytes) - The length of the public
-  data computed by the responder, including this field
-  as well.
+  data computed by the responder, not including any other
+  field.
 
 o Public Data (variable length) - The public data to be
   sent to the responder.  See section 2.2 Key Exchange 
@@ -480,9 +494,8 @@ Figure 3:  Key Exchange 2 Payload
 
 
 .in 6
-o Public Key Length (2 bytes) - The length of the public key
-  (or certificate), including this field and public key type
-  field as well.
+o Public Key Length (2 bytes) - The length of the Public Key
+  (or certificate) field, not including any other field.
 
 o Public Key Type (2 bytes) - The public key (or certificate) 
   type.  This field indicates the type of the public key in 
@@ -495,8 +508,8 @@ o Public Key of the host (variable length) - The public
   is indicated by previous Public Key Type field.
 
 o Public Data Length (2 bytes) - The length of the public
-  data computed by the responder, including this field
-  as well.
+  data computed by the responder, not including any other
+  field.
 
 o Public Data (variable length) - The public data computed
   by the responder.  See section 2.2 Key Exchange Procedure
@@ -504,7 +517,7 @@ o Public Data (variable length) - The public data computed
   value is binary encoded.
 
 o Signature Length (2 bytes) - The length of the signature,
-  including the length of this field as well.
+  not including any other field.
 
 o Signature Data (variable length) - The signature signed
   by the responder.  The receiver of this signature must
index 72897fd0c4d6fe5469403d11ff2a975c93dea69c..ab22ce39a0be90f9c1d20d379d6473644554dc9e 100644 (file)
@@ -106,6 +106,7 @@ Table of Contents
       3.10.3 MAC Algorithms ..................................... 20
       3.10.4 Compression Algorithms ............................. 21
   3.11 SILC Public Key .......................................... 21
+  3.12 SILC Version Detection ................................... 24
 4 SILC Procedures ............................................... 24
   4.1 Creating Client Connection ................................ 24
   4.2 Creating Server Connection ................................ 25
@@ -1219,6 +1220,39 @@ All fields in the public key are in MSB (most significant byte first)
 order.
 
 
+.ti 0
+3.12 SILC Version Detection
+
+The version detection of both client and server is performed at the
+connection phase while executing the SILC Key Exchange protocol.  The
+version identifier is exchanged between intiator and responder.  The
+version identifier is of following format:
+
+.in 6
+SILC-<protocol version>-<software version>
+.in 3
+
+The version strings are of following format:
+
+.in 6
+protocol version = <major>.<minor>
+software version = <major>[.<minor>[.<build>]]
+.in 3
+
+Protocol version may provide both major and minor version.  Currently
+implementations must set the protocol version and accept the protocol
+version as SILC-1.0-<sotware version>. 
+
+Software version may provide major, minor and build version.  The
+software version may be freely set and accepted.
+
+Thus, the version string could be, for example:
+
+.in 6
+SILC-1.0-1.2
+.in 3
+
+
 .ti 0
 4 SILC Procedures
 
index c4137a23ddf6d19736aa3a95499bc8097af2cbb0..238416635ef0db6f6576a90c0fd1a20fbb63c8b6 100644 (file)
@@ -21,6 +21,8 @@
 #ifndef CLIENTINCLUDES_H
 #define CLIENTINCLUDES_H
 
+#include "silcdefs.h"
+
 #include <curses.h>
 #include <sys/param.h>
 #include <pwd.h>
index 74167506f41ad0420a5d1e54269c843db2f1737a..0358befd4ff2bfea8b4f9b459f87c15e1b674649 100644 (file)
@@ -46,8 +46,6 @@
 
 #ifdef HAVE_GETOPT_H
 #include <getopt.h>
-#else
-#error getopt.h not found in the system
 #endif
 
 #ifdef HAVE_SIGNAL_H
index ad1ff2c517fdbfe9dce79746b080cd7fb641f899..8d70994c6693a47479a1afa76dff6282096b789e 100644 (file)
@@ -33,7 +33,8 @@ typedef unsigned char SilcVersion;
 #define SILC_VERSION_1 '\1'
 
 /* SILC version string */
-const char *silc_version = "17072000";
+const char *silc_version = "18072000";
+const char *silc_version_string = "SILC-1.0-18072000";
 const char *silc_name = "SILC";
 const char *silc_fullname = "Secure Internet Live Conferencing";