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].
 
          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
 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.
 
                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.
        /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     |                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
 |                                                               |
 |   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
        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 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
 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
 
 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
 
 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
 
 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
 
 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.
 
 o Compression Algorithms (variable length) - The list of 
   compression algorithms.
@@ -402,9 +417,8 @@ Figure 2:  Key Exchange 1 Payload
 
 
 .in 6
 
 
 .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 
 
 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
   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 
 
 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
 
 
 .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 
 
 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
   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
 
 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,
   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
 
 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.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
 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.
 
 
 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
 
 .ti 0
 4 SILC Procedures
 
index c4137a23ddf6d19736aa3a95499bc8097af2cbb0..238416635ef0db6f6576a90c0fd1a20fbb63c8b6 100644 (file)
@@ -21,6 +21,8 @@
 #ifndef CLIENTINCLUDES_H
 #define CLIENTINCLUDES_H
 
 #ifndef CLIENTINCLUDES_H
 #define CLIENTINCLUDES_H
 
+#include "silcdefs.h"
+
 #include <curses.h>
 #include <sys/param.h>
 #include <pwd.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>
 
 #ifdef HAVE_GETOPT_H
 #include <getopt.h>
-#else
-#error getopt.h not found in the system
 #endif
 
 #ifdef HAVE_SIGNAL_H
 #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 */
 #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";
 
 const char *silc_name = "SILC";
 const char *silc_fullname = "Secure Internet Live Conferencing";