X-Git-Url: http://git.silcnet.org/gitweb/?p=runtime.git;a=blobdiff_plain;f=README;h=82eacbb30c601fdd52cbce0649510687d7571d5d;hp=4ed2fba46b2cbae88c5fb6a5382ed14b85d04192;hb=1ad1765203103b64292ace31d39503887e543b65;hpb=56cea60b47990096c4c2a16f57f7865f9708e361 diff --git a/README b/README index 4ed2fba4..82eacbb3 100644 --- a/README +++ b/README @@ -1,119 +1,26 @@ -SILC - Secure Internet Live Conferencing -======================================== +SILC Runtime Toolkit +==================== -SILC (Secure Internet Live Conferencing) is a protocol which provides -secure conferencing services on the Internet over insecure channel. -SILC is IRC-like software although internally they are very different. -The biggest similarity between SILC and IRC is that they both provide -conferencing services and that SILC has almost the same commands as IRC. -Other than that they are nothing alike. Major differences are that SILC -is secure what IRC is not in any way. The network model is also entirely -different compared to IRC. +SILC Runtime Toolkit (SRT) provides useful utility functions for application +programmers. The SRT can be used as the sole and main runtime in any +application. It provides application main loop, hash table, lists, atomic +operations, threads, locks, queues, file descriptor stream, socket stream, +network routines, a finite state machine, memory pool, random number +generator, buffers, regular expressions, and many many other features. +The SRT natively supports multiple platforms; Unix/Linux, Windows, Mac OS +X and Symbian OS, and all APIs work identically or nearly identically on +all support platforms. The SRT and all of its APIs are entirely reentrant +and some APIs are completely thread safe. -Running SILC -============ - -After installing the SILC to the system the SILC client is started by -giving command: - - silc - -If you want to run with specific configuration file give -f option. - -To run the server you should configure the server first. To run the -server give the command: - - silcd - -This will launch the server on to the background. - - -Features -======== - -Features to be included into the final release of SILC. [Note that the -current Developer's Version does not include all of these features, read -TODO file for more information.] - - o Normal conferencing services such as private messages, channels, - channel messages, etc. All traffic is secured and authenticated. - - o No unique nicknames. There can same nicknames in SILC without - collisions. SILC has unique Client ID's, Server ID's and Channel ID's - to assure that there are no collisions. - - o Secure key exchange and authentication protocol. SILC Key Exchange - protocol provides key material used in the SILC sessions in secure - manner. The protocol is immune for example to man-in-the-middle - attacks. The SILC Authentication protocol provides strong - authentication. Authentication may be based on passphrase or public - key (RSA) authentication. For clients there is an option not to - use authentication when connecting to servers. - - o All traffic is encrypted and authenticated using the best cryptographic - algorithms out there. Command messages, private messages and channel - messages are all protected by encryption. User can set private keys - for both private message and for channels so that even SILC servers do - not know the keys. Cipher keys are, by default, 128 bits in length and - public keys, by default, 1024 bits in length. - - o Supports data compression with GZIP to improve performance. - - o Supports SOCKS4 and SOCKS5 firewall traversal protocols. - - o SIM (SILC Module) support. Support for loading of shared objects at - run-time that provides new and extended features to both SILC client - and server. These can provide extra ciphers and extra features to - the software. - - o SILC client can be installed and used without root privileges. - - o SILC client can be configured by system wide configuration files but - with user specific configuration files as well. - +The SRT is free software and is dual-licensed with GNU GPL and BSD +licenses. History ======= -SILC was released in the summer 2000 to the public, but the idea and the -protocol itself is quite old. The SILC was designed by Pekka Riikonen in -the year 1996 and first lines of codes were written in the early 1997. The -SILC has been rewritten three times since its very first version in 1997. -The first version included SILC client, very preliminary SILC server, RSA -implementation and 3DES implementation. The server actually was not usable -but the client looked pretty much the same as the first client released in -the summer 2000. The first version had also random number generator which -were based on the SSH's random number generator. The current RNG is based -on the first RNG but has been rewritten twice since the first version. - -The development of SILC was suspended in 1997 when Pekka got busy at -school and in work. The pause laster several months. The development -resumed in 1998 when Juha Räsänen and Pekka implemented the ElGamal -algorithm. However, for the same reasons as previously the development -stopped again, and was resumed again later in 1998 by doing rewrite of -ther SILC in C++. This was obviously a mistake but at that time it seemed -like a good idea. Again, in the winter 1999 the development suspended when -Pekka got busy writing his thesis and was forced to stop the development. - -Later, in 1999, it was decided that this time SILC will be rewritten from -scratch in the right way. C++ was obviously a bad choice so plain C -language was selected again. The protocol itself faced some rework by -redesigning some core parts of the protocol. The protocol was also fully -documented and the protocol specifications were submitted to the IETF. The -result of this development effort is the release now in public. Since the -release in the summer 2000 several other people have contributed to the -project as well. And, the development continues. - - -Contact -======= - -Feedback and comments are welcome. Bug reports should be sent to the -development mailing list. - -Official SILC project web site : http://silcnet.org/ -FTP archive for SILC project : ftp://ftp.silcnet.org/ -Development mailing list address : silc-devel@lists.silcnet.org -SILC Server : /server silc.silcnet.org - +The SRT used to be part of the SILC Toolkit; a software development kit for +Secure Internet Life Conferencing application programmers. The SRT was +split off from the SILC Toolkit into its own package due to its generic and +useful nature. Many APIs still present in SRT have been in use in the SILC +Toolkit since the year 2000.