From 9e16deb06cd1eff5040d8fbb5ce8ace3a058f5f3 Mon Sep 17 00:00:00 2001 From: Pekka Riikonen Date: Mon, 10 Jul 2000 05:33:00 +0000 Subject: [PATCH] updates --- CHANGES | 32 +++++++++++++++++++++++++++ README | 9 ++++++++ TODO | 15 ------------- doc/draft-riikonen-silc-spec-00.nroff | 25 ++++++++++++++++----- includes/silcincludes.h | 1 + 5 files changed, 62 insertions(+), 20 deletions(-) diff --git a/CHANGES b/CHANGES index 228f511f..b34740da 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,35 @@ +Sun Jul 9 15:19:24 EEST 2000 Pekka Riikonen + + * 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 * Fixed screen refresh. diff --git a/README b/README index b4ed9738..f9524fe6 100644 --- 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 [] + + 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 ed1a4890..bb4bb215 100644 --- 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. diff --git a/doc/draft-riikonen-silc-spec-00.nroff b/doc/draft-riikonen-silc-spec-00.nroff index a0dd359f..e3446e08 100644 --- a/doc/draft-riikonen-silc-spec-00.nroff +++ b/doc/draft-riikonen-silc-spec-00.nroff @@ -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) (2) (3) [] (4) [] - (5) [] (6) [[:]] + (5) [] (6) [] + (7) [] (8) [[:]] 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 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 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 argument is the requested cipher. diff --git a/includes/silcincludes.h b/includes/silcincludes.h index 83d8b2a2..01993c60 100644 --- a/includes/silcincludes.h +++ b/includes/silcincludes.h @@ -122,6 +122,7 @@ /* Math library includes */ #include "silcmp.h" #include "modinv.h" +#include "mpbin.h" #include "silcprimegen.h" /* Crypto library includes */ -- 2.24.0