From 23c6fb7523cbe7309f8b5ae615fa76baeb583a26 Mon Sep 17 00:00:00 2001 From: Pekka Riikonen Date: Sat, 24 Feb 2001 16:55:43 +0000 Subject: [PATCH] updates. --- CHANGES | 2 ++ TODO | 47 +++++++++------------------------------------ apps/silcd/server.c | 2 ++ 3 files changed, 13 insertions(+), 38 deletions(-) diff --git a/CHANGES b/CHANGES index da495f1f..0fc7f959 100644 --- a/CHANGES +++ b/CHANGES @@ -18,6 +18,8 @@ Sat Feb 24 16:03:45 EET 2001 Pekka Riikonen * Added new command status type SILC_STATUS_ERR_NO_CHANNEL_FOPRIV to indicate that the client is not channel founder. + * Updated TODO. + Sat Feb 24 00:00:55 EET 2001 Pekka Riikonen * Removed the rng context from SilcPacketContext structure and diff --git a/TODO b/TODO index 1a9635ac..c72f3504 100644 --- a/TODO +++ b/TODO @@ -125,12 +125,6 @@ TODO In SILC Server o Protocol execution timeouts are hard coded, should be configurable. - o Implement DENY_CONNECTION section in serverconfig.c and in server. - - o Implement REDIRECT_CLIENT section in serverconfig.c and in server. - - o Configuration file format - could be better. - o IP address fields in configuration file should accept mask format as well, IP/MASK, and not just plain IP. @@ -142,9 +136,6 @@ TODO In SILC Server checked at the authentication phase after KE, that is ok, but it should be checked before starting KE, as well. - o Statistics are totally missing from the server. It would be nice - to gather some statistics. - TODO In SILC Libraries ====================== @@ -157,31 +148,10 @@ TODO In SILC Libraries server, actually). If PFS is set, re-key must cause new key exchange. This is required by the SILC protocol. - o silc_id_str2id must also take ID length as argument. Otherwise, variable - length ID's (after we add IPv6) will not work. - o Re-key in general is actually missing (from everywhere) and must be done. o ID Cache expiry does not work. - o PKCS#1 style RSA public key encryption/decryption/sign/verify is - missing, and should be added for interoperability reasons. The thing - 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 Scheduler needs to be analyzed on high load as it might be unfair - towards select() because it may run timeout tasks before select() and - after select(). If it is found to be unfair the timeout task running - before select() should probably be removed. - - o On select() issue; maybe we should use poll() instead if it is - available? poll() doesn't have max fd limit... - - o SIM support for SILC PKCS API needs to made so that they could be - used as SIM's. At the same time some work is required on prime - generation as the way it is done now sucks. Read from code for - more (silcpkcs.h). - o Compression routines are missing. The protocol supports packet compression thus it must be implemented. SILC Comp API must be defined. zlib package is already included into the lib dir (in CVS, @@ -194,20 +164,21 @@ TODO In SILC Libraries cleaner. Introducing silc_cipher_encrypt/decrypt/set_key etc. functions (I actually don't understand why have I left these un-done). + o SIM support for SILC PKCS API needs to made so that they could be + used as SIM's. At the same time some work is required on prime + generation as the way it is done now sucks. Read from code for + more (silcpkcs.h). + o Random Number Generator needs some tweaking. Reading /dev/random may block resulting slow initialization of RNG. Some other things in the RNG may block as well. Also, I have some pending changes to the RNG that needs to be commited (from Schneier's Yarrow-160 paper). They should make the RNG even better. - o silc_buffer_[un]format() needs to be made more stable as it may - crash the SILC if malformed data is sent as argument. There are a - lot of places in client and server where we trust directly data coming - from network and try to unformat it. The unformatting routine needs - to be able handle situations where data sent is malformed, by mistake - or intentionally. This is important as it is easy to crash the SILC - now by just sending malformed data. Also, in client and server we - must start checking the return value from silc_buffer_[un]format. + o Scheduler needs to be analyzed on high load as it might be unfair + towards select() because it may run timeout tasks before select() and + after select(). If it is found to be unfair the timeout task running + before select() should probably be removed. Other Things TODO diff --git a/apps/silcd/server.c b/apps/silcd/server.c index 71d495f1..21565758 100644 --- a/apps/silcd/server.c +++ b/apps/silcd/server.c @@ -1911,6 +1911,8 @@ int silc_server_remove_clients_by_server(SilcServer server, SilcIDCacheEntry id_cache = NULL; SilcClientEntry client = NULL; + SILC_LOG_DEBUG(("Start")); + if (silc_idcache_find_by_id(server->local_list->clients, SILC_ID_CACHE_ANY, SILC_ID_CLIENT, &list)) { -- 2.43.0