updates.
[silc.git] / doc / draft-riikonen-silc-pp-02.nroff
index da02ad4392341ae4e90dc9590774951e5f173c2b..6e3edaea226cddb1ca8e39ac3b62effb6d5baa7f 100644 (file)
 .nf
 Network Working Group                                      P. Riikonen
 Internet-Draft
-draft-riikonen-silc-pp-01.txt                           6 October 2000
-Expires: 6 Jun 2001
+draft-riikonen-silc-pp-02.txt                           XXXXXXXXXXXXXX
+Expires: XXX
 
 .in 3
 
 .ce 2
 SILC Packet Protocol
-<draft-riikonen-silc-pp-01.txt>
+<draft-riikonen-silc-pp-02.txt>
 
 .ti 0
 Status of this Memo
@@ -81,6 +81,7 @@ Table of Contents
             2.3.2.1 ID Payload .................................. 16
             2.3.2.2 Argument Payload ............................ 16
             2.3.2.3 Channel Payload ............................. XXX
+            2.3.2.4 Public Key Payload .......................... XXX
       2.3.3 Disconnect Payload .................................. 17
       2.3.4 Success Payload ..................................... 18
       2.3.5 Failure Payload ..................................... 18
@@ -111,7 +112,6 @@ Table of Contents
   2.10 Packet Reception ......................................... 43
   2.11 Packet Routing ........................................... 44
   2.12 Packet Broadcasting ...................................... 45
-  2.13 Packet Tunneling ......................................... 45
 3 Security Considerations ....................................... 46
 4 References .................................................... 46
 5 Author's Address .............................................. 47
@@ -125,22 +125,23 @@ Figure 2:   SILC Packet Header
 Figure 3:   ID Payload
 Figure 4:   Argument Payload
 Figure 5:   Channel Payload
-Figure 6:   Disconnect Payload
-Figure 7:   Success Payload
-Figure 8:   Failure Payload
-Figure 9:   Reject Payload
-Figure 10:  Notify Payload
-Figure 11:  Error Payload
-Figure 12:  Channel Message Payload
-Figure 13:  Channel Key Payload
-Figure 14:  Private Message Payload
-Figure 15:  Private Message Key Payload
-Figure 16:  Command Payload
-Figure 17:  Connection Auth Request Payload
-Figure 18:  New Client Payload
-Figure 19:  New Server Payload
-Figure 20:  Key Agreement Payload
-Figure 21:  Cell Routers Payload
+Figure 6:   Public Key Payload
+Figure 7:   Disconnect Payload
+Figure 8:   Success Payload
+Figure 9:   Failure Payload
+Figure 10:   Reject Payload
+Figure 11:  Notify Payload
+Figure 12:  Error Payload
+Figure 13:  Channel Message Payload
+Figure 14:  Channel Key Payload
+Figure 15:  Private Message Payload
+Figure 16:  Private Message Key Payload
+Figure 17:  Command Payload
+Figure 18:  Connection Auth Request Payload
+Figure 19:  New Client Payload
+Figure 20:  New Server Payload
+Figure 21:  Key Agreement Payload
+Figure 22:  Cell Routers Payload
 
 
 .ti 0
@@ -315,14 +316,6 @@ o Flags (1 byte) - Indicates flags to be used in packet
        section 2.13 Packet Broadcasting for description of 
        packet broadcasting.
 
-
-     Tunneled                  0x08
-
-       Marks that the packet is tunneled.  Tunneling means
-       that extra SILC Packet Header has been applied to the
-       original packet.  The outer header has this flag
-       set.  See section 2.14 Packet Tunneling for more
-       information.
 .in 3
 
 
@@ -924,6 +917,45 @@ o Mode Mask (4 bytes) - A mode.  This can be the mode of the
 .in 3
 
 
+.ti 0
+2.3.2.4 Public Key Payload
+
+Generic Public Key Payload may be used to send different types of
+public keys and certificates.
+
+The following diagram represents the Channel Payload Payload.
+
+
+.in 5
+.nf
+                     1                   2                   3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+|       Public Key Length       |        Public Key Type        |
++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+|                                                               |
+~            Public Key of the party (or certificate)           ~
+|                                                               |
++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+.in 3
+
+.ce
+Figure 6:  Public Key Payload
+
+
+.in 6
+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 
+  the packet.  See the [SILC3] for defined public key types.
+
+o Public Key (or certicicate) (variable length) - The
+  public key or certificate.
+.in 3
+
+
 .ti 0
 2.3.3 Disconnect Payload
 
@@ -952,7 +984,7 @@ the Disconnect Payload.
 .in 3
 
 .ce
-Figure 6:  Disconnect Payload
+Figure 7:  Disconnect Payload
 
 
 
@@ -982,7 +1014,7 @@ This maybe any data, including binary or human readable data.
 .in 3
 
 .ce
-Figure 7:  Success Payload
+Figure 8:  Success Payload
 
 
 .in 6
@@ -1014,7 +1046,7 @@ some protocol is sent in the payload.
 .in 3
 
 .ce
-Figure 8:  Failure Payload
+Figure 9:  Failure Payload
 
 
 .in 6
@@ -1048,7 +1080,7 @@ may be binary or human readable data.
 .in 3
 
 .ce
-Figure 9:  Reject Payload
+Figure 10:  Reject Payload
 
 
 .in 6
@@ -1089,7 +1121,7 @@ Notify Payload.
 .in 3
 
 .ce
-Figure 10:  Notify Payload
+Figure 11:  Notify Payload
 
 
 .in 6
@@ -1282,10 +1314,15 @@ ID's sent in arguments are sent inside ID Payload.
       Sent when server quits SILC network.  Those clients from this server
       that are on channels must be removed from the channel.
 
-      Max Arguments:  1
-          Arguments:  (1) <Server ID>
+      Max Arguments:  2000
+          Arguments:  (1) <Server ID>   (n) [<Client ID>   [...]
 
-      The <Server ID> is the server's ID.
+      The <Server ID> is the server's ID.  The rest of the arguments are
+      the Client ID's of the client's who are coming from this server and
+      are thus quitting the SILC network also.  If the maximum number of
+      arguments are reached another SILC_NOTIFY_TYPE_SERVER_SIGNOFF notify
+      packet must be sent.  When this notify packet is sent between routers
+      the Client ID's may be omitted.
 
 
 12    SILC_NOTIFY_TYPE_KICKED
@@ -1380,7 +1417,7 @@ that the client takes error packet seriously.
 .in 3
 
 .ce
-Figure 11:  Error Payload
+Figure 12:  Error Payload
 
 
 .in 6
@@ -1455,7 +1492,7 @@ represents the Channel Message Payload.
 .in 3
 
 .ce
-Figure 12:  Channel Message Payload
+Figure 13:  Channel Message Payload
 
 
 .in 6
@@ -1608,7 +1645,7 @@ represents the Channel Key Payload.
 .in 3
 
 .ce
-Figure 13:  Channel Key Payload
+Figure 14:  Channel Key Payload
 
 
 
@@ -1692,7 +1729,7 @@ diagram represents the Private Message Payload.
 .in 3
 
 .ce
-Figure 14:  Private Message Payload
+Figure 15:  Private Message Payload
 
 
 .in 6
@@ -1769,7 +1806,7 @@ diagram represents the Private Message Key Payload.
 .in 3
 
 .ce
-Figure 15:  Private Message Key Payload
+Figure 16:  Private Message Key Payload
 
 
 
@@ -1814,7 +1851,7 @@ represents the Command Payload.
 .in 3
 
 .ce
-Figure 16:  Command Payload
+Figure 17:  Command Payload
 
 
 .in 6
@@ -1896,7 +1933,7 @@ diagram represents the Connection Auth Request Payload.
 .in 3
 
 .ce
-Figure 17:  Connection Auth Request Payload
+Figure 18:  Connection Auth Request Payload
 
 
 .in 6
@@ -2014,7 +2051,7 @@ represents the New Client Payload.
 .in 3
 
 .ce
-Figure 18:  New Client Payload
+Figure 19:  New Client Payload
 
 
 .in 6
@@ -2069,7 +2106,7 @@ the New Server Payload.
 .in 3
 
 .ce
-Figure 19:  New Server Payload
+Figure 20:  New Server Payload
 
 
 .in 6
@@ -2143,7 +2180,7 @@ represents the Key Agreement Payload.
 .in 3
 
 .ce
-Figure 20:  Key Agreement Payload
+Figure 21:  Key Agreement Payload
 
 
 .in 6
@@ -2209,7 +2246,7 @@ represents the Cell Routers Payload.
 .in 3
 
 .ce
-Figure 21:  Cell Routers Payload
+Figure 22:  Cell Routers Payload
 
 
 .in 6
@@ -2553,24 +2590,6 @@ about newly registered clients, servers, channels etc. so that all the
 routers may keep these informations up to date.
 
 
-.ti 0
-2.13 Packet Tunneling
-
-Tunneling is a feature that is available in SILC protocol.  Tunneling
-means that extra SILC Packet Header is applied to the original packet
-and thus hiding the original packet entirely.  There can be some
-interesting applications using tunneling, such as, using ID's based on
-private network IP addresses inside in the tunneled packet.  This can
-open many interesting features relating to connecting to private network
-from the Internet with SILC and many more.  However, this feature is
-optional currently in SILC as there does not exist thorough analysis of
-this feature.  It is with out a doubt that there will be many more
-applications that has not yet been discovered.  Thus, it is left
-to Internet Community to investigate the use of tunneling in SILC
-protocol.  This document is updated according those investigations
-and additional documents on the issue may be written.
-
-
 .ti 0
 3 Security Considerations