From: Pekka Riikonen Date: Mon, 21 Aug 2000 14:19:39 +0000 (+0000) Subject: updates X-Git-Tag: SILC.0.1~415 X-Git-Url: http://git.silcnet.org/gitweb/?a=commitdiff_plain;h=7884682753fe54e55427b00d2ea80c2cfb097603;p=silc.git updates --- diff --git a/CHANGES b/CHANGES index ca81ae06..495a6460 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,24 @@ +Sun Aug 20 21:27:26 EEST 2000 Pekka Riikonen + + * Added SILC_PACKET_REMOVE_CHANNEL_USER to remove a client from + a channel in SILC network. The packet is used by servers and + routers to notify other routers that user has left a channel. + This little feature was missing until now. Added the feature + to protocol specification as well. + + Added functions: silc_server_send_remove_channel_user and + silc_server_remove_channel_user into server.[ch]. + + * Added SILC_PACKET_REKEY and SILC_PACKET_REKEY_DONE into + lib/silccore/silcpacket.h. However, they are not implemented + yet. + +Sat Aug 19 23:04:16 EEST 2000 Pekka Riikonen + + * Fixed joining to a channel and sending channel messages + between server and router. The channel message sending should + now work inside a cell. + Tue Jul 25 20:46:13 EEST 2000 Pekka Riikonen * Fixed the private message sending between server and router. diff --git a/doc/draft-riikonen-silc-pp-00.nroff b/doc/draft-riikonen-silc-pp-00.nroff index a77583b5..10516d0a 100644 --- a/doc/draft-riikonen-silc-pp-00.nroff +++ b/doc/draft-riikonen-silc-pp-00.nroff @@ -145,6 +145,7 @@ Figure 19: New Channel Payload Figure 20: New Channel User Payload Figure 21: Replace ID Payload Figure 22: Remove ID Payload +Figure 23: Remove Channel User Payload .ti 0 @@ -721,7 +722,18 @@ List of SILC Packet types are defined as follows. Payload of the packet: See section 2.3.24 Remove ID Payload - 28 SILC_PACKET_REKEY + 28 SILC_PACKET_REMOVE_CHANNEL_USER + + This packet is used to remove user from a channel. This is + used by router to notify other routers in the network that a + client has leaved a channel. This packet maybe sent to entity + that is indirectly connected to the sender. + + Payload of the packet: See section 2.3.25 Remove Channel User + Payload + + + 29 SILC_PACKET_REKEY This packet is used to indicate that re-key must be performed for session keys. See section Session Key Regeneration in @@ -729,9 +741,7 @@ List of SILC Packet types are defined as follows. a payload. - - - 29 SILC_PACKET_REKEY_DONE + 30 SILC_PACKET_REKEY_DONE This packet is used to indicate that re-key is performed and new keys must be used hereafter. This is sent only if re-key @@ -740,7 +750,7 @@ List of SILC Packet types are defined as follows. not have a payload. - 30 - 254 + 31 - 254 Currently undefined commands. @@ -1002,7 +1012,7 @@ Receiver of the the channel message packet is able to determine the channel the message is destined to by checking the destination ID from the SILC Packet header which tells the destination channel. The original sender of the packet is also determined by checking -the source ID from the header which tells the who client sent +the source ID from the header which tells the client who sent the message. The payload may only be sent with SILC_PACKET_CHANNEL_MESSAGE packet. @@ -1940,13 +1950,65 @@ o ID Type (2 bytes) - Indicates the type of the ID to be removed. See section 2.4 SILC ID Types for list of defined ID types. -o ID Length (2 bytes) - Length of the D Data area not including +o ID Length (2 bytes) - Length of the ID Data area not including the length of any other fields in the payload. o ID Data (variable length) - The actual ID data to be removed. .in 3 +.ti 0 +2.3.25 Remove Channel User Payload + +Remove Channel User payload is used to remove a user from a channel network +wide. This is used by routers to notify other routers that a user has +leaved a channel. As routers keep information about users on channels a +user leaving channel must be removed from all routers. Normal server may +send this payload as well. Client must not send this payload. + +The payload may only be sent with SILC_PACKET_REMOVE_CHANNEL USER packet. +It must not be sent in any other packet type. Following diagram +represents the Remove 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 ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +| Client ID Length | | ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + +| | +~ Client ID Data ~ +| | ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +| Channel ID Length | | ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + +| | +~ Channel ID Data ~ +| | ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +.in 3 + +.ce +Figure 23: Remove Channel User Payload + + +.in 6 +o Client ID Length (2 bytes) - Length of the Client ID Data area + not including the length of any other fields in the payload. + +o Client ID Data (variable length) - The Client ID of the user + that has left the channel. + +o Channel ID Length (2 bytes) - Length of the Channel ID Data area + not including the length of any other fields in the payload. + +o Channel ID Data (variable length) - The Channel ID of the channel + the user has left. +.in 3 + + .ti 0 2.4 SILC ID Types diff --git a/doc/draft-riikonen-silc-spec-00.nroff b/doc/draft-riikonen-silc-spec-00.nroff index ab22ce39..9c1128a9 100644 --- a/doc/draft-riikonen-silc-spec-00.nroff +++ b/doc/draft-riikonen-silc-spec-00.nroff @@ -419,7 +419,7 @@ o Server ID IP address - Indicates the server where this client is coming from. The IP address hence equals the server IP address where to the client has connected. -o Random number - Random number to further unify the +o Random number - Random number to further randomize the Client ID. This makes it possible to have 2^8 same nicknames from the same server IP address. @@ -535,7 +535,7 @@ o IP address of the server - This is the real IP address of o Port - This is the port the server is binded to. -o Random number - This is used to further unify the Server ID. +o Random number - This is used to further randomize the Server ID. .in 3 Collisions are not expected to happen in any conditions. The Server ID @@ -736,7 +736,7 @@ o Router's Server ID IP address - Indicates the IP address of o Router's Server ID port - Indicates the port of the channel on the server. This is taken from the router's Server ID. -o Random number - To further unify the Channel ID. This makes +o Random number - To further randomize the Channel ID. This makes sure that there are no collisions. This also means that in a cell there can be 2^16 channels. .in 3