From 1ad1765203103b64292ace31d39503887e543b65 Mon Sep 17 00:00:00 2001 From: Pekka Riikonen Date: Mon, 3 Mar 2008 21:14:36 +0200 Subject: [PATCH] Documentation updates. The SRT webpage is now part of SRT docs itself. --- README | 131 +++++----------------------------- README.MACOSX | 8 +-- README.SYMBIAN | 56 +++++++-------- README.WIN32 | 22 +++--- doc/runtime.in/building.html | 36 +++++----- doc/runtime.in/footer | 2 +- doc/runtime.in/header | 2 +- doc/runtime.in/index.html.in | 105 ++++++++++----------------- doc/runtime.in/manual.html.in | 121 +++++++++++++++++++++++++++++++ doc/runtime.in/platforms.html | 12 ++-- 10 files changed, 249 insertions(+), 246 deletions(-) create mode 100644 doc/runtime.in/manual.html.in 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. diff --git a/README.MACOSX b/README.MACOSX index 98e0a3f7..68866901 100644 --- a/README.MACOSX +++ b/README.MACOSX @@ -1,7 +1,7 @@ -Compiling SILC Toolkit on MAC OS X +Compiling SILC Runtime on MAC OS X ================================== -SILC Toolkit works on MAC OS X as well, as that is Unix based operating +SILC Runtime works on MAC OS X as well, as that is Unix based operating system. Some compilation issues however must be taken into consideration. To compile the Toolkit on MAC OS X give the following commands: @@ -15,8 +15,8 @@ compilation which you can simply start by giving the command: make -This will compile the libraries and applications. If you do not want to -compile the applications, before giving make command go to the lib/ +This will compile the libraries and applications. If you do not want to +compile the applications, before giving make command go to the lib/ directory, and give make there: cd lib diff --git a/README.SYMBIAN b/README.SYMBIAN index f37cf939..938c21b2 100644 --- a/README.SYMBIAN +++ b/README.SYMBIAN @@ -1,12 +1,12 @@ -Compiling SILC Toolkit for Symbian OS -===================================== +Compiling SILC Runtime Toolkit for Symbian OS +============================================= -The SILC Toolkit works on Symbian OS. This document is intended for those -that want to compile the SILC Toolkit by themselves for Symbian OS, or for -Symbian OS emulator. The building environment expects Carbide.c++ and -WINSCW compiler for emulator target and GCCE (variant of GCC) for device -target. The SILC Toolkit has not been tested with other compilers or -build systems. The build environment expects MS Windows. +The SRT works on Symbian OS. This document is intended for those that +want to compile the SRT by themselves for Symbian OS, or for Symbian OS +emulator. The building environment expects Carbide.c++ and WINSCW compiler +for emulator target and GCCE (variant of GCC) for device target. The SRT +has not been tested with other compilers or build systems. The build +environment expects MS Windows. Requirements @@ -19,39 +19,37 @@ Requirements Installing Build Environment ============================ -If you do not have a working Carbide.c++ and Symbian OS SDK environment +If you do not have a working Carbide.c++ and Symbian OS SDK environment installed in your MS Windows system it needs to be done first. 1) Download the freely available Carbide.c++ from Nokia at - http://forum.nokia.com. The exact hyperlink location changes often, so + http://forum.nokia.com. The exact hyperlink location changes often, so it is not referenced here. It is usually under "Tools and SDKs" link. -2) After installation a web browser is opened automatically by the - Carbide.c++ installer. Follow its instructions by installing the Perl, - CTags and the SDK. Perl and the SDK are required, but CTags is +2) After installation a web browser is opened automatically by the + Carbide.c++ installer. Follow its instructions by installing the Perl, + CTags and the SDK. Perl and the SDK are required, but CTags is optional and if necessary can be omitted. -3) The SILC Toolkit is generic C and C++ code and should work with any - SDK. If you don't have SDK already installed, install the latest - version you can find. The links to SDKs are found in the Carbide.c++ - instructions after installation. If you already have SDK in your +3) The SILC Runtime is generic C and C++ code and should work with any + SDK. If you don't have SDK already installed, install the latest + version you can find. The links to SDKs are found in the Carbide.c++ + instructions after installation. If you already have SDK in your system, you should use that. -4) After installation the environment should be ready for SILC Toolkit - building. +4) After installation the environment should be ready for SRT building. Building with Carbide.c++ ========================= -After starting the Carbide.c++ you will need to import the SILC Toolkit -project. Go to File -> Import -> Symbian OS -> Symbian OS Bld.inf file, -and go to the extracted SILC Toolkit source tree and find symbian\bld.inf -file and import it. When Carbide.c++ asks for the Root Directory, select -the root of the extracted SILC Toolkit source tree, if not already -selected. +After starting the Carbide.c++ you will need to import the SRT project. +Go to File -> Import -> Symbian OS -> Symbian OS Bld.inf file, and go +to the extracted SRT source tree and find symbian\bld.inf file and import +it. When Carbide.c++ asks for the Root Directory, select the root of the +extracted SRT source tree, if not already selected. -After importing the project it is immediately ready for building. By +After importing the project it is immediately ready for building. By default, it will build the following libraries: silc.dll - SILC Core DLL @@ -63,10 +61,10 @@ Before building select the target for which you want to build. Possible targets are Emulator or Phone with Debug or Release. -Using SILC Toolkit in Your Project +Using SILC Runtime in Your Project ================================== -When linking with SILC libraries your application will need to also link +When linking with SRT libraries your application will need to also link the following Symbian libraries: estlib @@ -74,5 +72,5 @@ the following Symbian libraries: insock esock -You will also need to include the \epoc32\include\libc into your system +You will also need to include the \epoc32\include\libc into your system include path in your project, if not already included. diff --git a/README.WIN32 b/README.WIN32 index 14364bc2..6ea534bd 100644 --- a/README.WIN32 +++ b/README.WIN32 @@ -1,7 +1,7 @@ -Compiling SILC Toolkit on WIN32 -=============================== +Compiling SILC Runtime Toolkit on WIN32 +======================================= -SILC Toolkit works on native WIN32 systems as well. This document is +SILC Runtime works on native WIN32 systems as well. This document is intended for those who needs to compile the Toolkit for native WIN32 systems. The Toolkit can be compiled for native WIN32 systems using generally any compiler. However, the compilation environment is designed @@ -9,8 +9,8 @@ to currently work with the MSVC++ (version 6.0) and with the MinGW (under cygwin). -Compiling SILC Toolkit with MSVC++ -================================== +Compiling SILC Runtime Toolkit with MSVC++ +=========================================== The MSVC++ workspace and project files resides in the win32/ subdirectory of the Toolkit package. The `silc.dsw' file is the workspace file that @@ -33,8 +33,10 @@ SILC Toolkit with debugging which you can conditionally use in your client application by setting the global variable silc_debug to TRUE or FALSE. -Compiling SILC Toolkit with MinGW -================================= +Compiling SILC Runtime Toolkit with MinGW +========================================= + +Note that this method is not officially supported and may not work at all. To compile the Toolkit with MinGW you first need to install the cygwin and the MinGW into your system. After that you can just normally give the @@ -62,8 +64,10 @@ the lib/ directory. It will also generate silc.lib and silcclient.lib files for linking against a client application. -Compiling SILC Toolkit with Cygwin -================================== +Compiling SILC Runtime Toolkit with Cygwin +========================================== + +Note that this method is not officially supported and may not work at all. Compiling the Toolkit with Cygwin is equivalent to compiling with MinGW except that the ./configure does not take the --with-win32 option. In this diff --git a/doc/runtime.in/building.html b/doc/runtime.in/building.html index c3f5f5fe..45ee00b1 100644 --- a/doc/runtime.in/building.html +++ b/doc/runtime.in/building.html @@ -31,29 +31,31 @@ Building the Toolkit
 
-SILC Runtime Toolkit works on various platforms, such as on several Unix -systems and on Windows. Building of the Toolkit on some platform may -differ from the other. This document describes how to build the Toolkit -from the sources, to create linkable libraries and binaries, on all +SILC Runtime Toolkit works on various platforms, such as on several Unix +systems and on Windows. Building of the Toolkit on some platform may +differ from the other. This document describes how to build the Toolkit +from the sources, to create linkable libraries and binaries, on all platforms the Toolkit support.
 
The building instructions for all platforms are also included in the Toolkit package. Please refer to the INSTALL file for general building instructions -for Unix systems, README.WIN32 for building on Windows systems, and -README.MACOSX for building on Mac OS X. +for Unix systems, README.WIN32 for building on Windows systems, +README.MACOSX for building on Mac OS X, and README_SYMBIAN for building on +Symbian OS. +
-
 
+ -
 
 
Building on Unix & Linux
 
-On Unix systems both statically and dynamically linkable libraries are +On Unix systems both statically and dynamically linkable libraries are built by default.
 
@@ -125,11 +127,11 @@ you can give --enable-ipv6 option to force the IPv6 support. --disable-cpu-optimizations
 
-By default the configure script will attempt to detect the type of your -CPU and enable any features specific to your CPU that could optimize the -performance of the Toolkit. If you are creating binary package that -should work on any CPU (and not only your CPU) you should diable these -optimizations. If you compile it for yourself only, keeping the +By default the configure script will attempt to detect the type of your +CPU and enable any features specific to your CPU that could optimize the +performance of the Toolkit. If you are creating binary package that +should work on any CPU (and not only your CPU) you should diable these +optimizations. If you compile it for yourself only, keeping the optimizations enabled is recommended.
 
@@ -155,7 +157,7 @@ The Toolkit package includes ready MSVC++ Workspace files, that will automatically compile the Toolkit. The MSVC++ workspace and project files resides in the win32/ subdirectory of the Toolkit package. The `srt.dsw' file is the workspace file that automatically supports compiling the Toolkit -and to generate the SILC Runtime DLL (libsrt.dll). You may also compile +and to generate the SILC Runtime DLL (libsrt.dll). You may also compile debug version by selecteing the Debug compilation method.
 
 
@@ -225,9 +227,10 @@ After installation import the Toolkit project to Carbide.c++ from the symbian/ subdirectory in the Toolkit package.
 
-Please read the README.SYMBIAN from the SILC Runtime Toolkit package for +Please read the README.SYMBIAN from the SILC Runtime Toolkit package for complete building instructions. +
 
@@ -246,4 +249,3 @@ complete building instructions. - diff --git a/doc/runtime.in/footer b/doc/runtime.in/footer index f83c74ab..6209f983 100644 --- a/doc/runtime.in/footer +++ b/doc/runtime.in/footer @@ -3,7 +3,7 @@ + SILC Project Website diff --git a/doc/runtime.in/header b/doc/runtime.in/header index cf360411..a703293b 100644 --- a/doc/runtime.in/header +++ b/doc/runtime.in/header @@ -2,7 +2,7 @@
Copyright © 2001 - 2008 SILC Project
- SILC Project Website
SILC Runtime Toolkit Manual
Index
+ SILC Project Website diff --git a/doc/runtime.in/index.html.in b/doc/runtime.in/index.html.in index 5d7d4dd1..29b97bc9 100644 --- a/doc/runtime.in/index.html.in +++ b/doc/runtime.in/index.html.in @@ -14,10 +14,7 @@
Copyright © 2001 - 2008 SILC Project
- SILC Project Website
SILC Runtime Toolkit Manual
Index
- + SILC Project Website
Copyright © 2001 - 2008 SILC Project
- SILC Project Website
- SILC Runtime Toolkit Manual
- Index
@@ -27,79 +24,52 @@
-

SILC Runtime Toolkit Reference Manual

+

SILC Runtime Toolkit @VERSION@

-Version: @VERSION@
-Copyright © 1997 - 2008 The SILC Project
-Updated: @DATE@ +SILC Runtime Toolkit (SRT) provides useful utility functions for +application programmers. 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.

-Welcome to the SILC Runtime Toolkit Reference Manual. The manual is a -complete developer guide and reference for the application programmer. -The manual is intended for programmers who would like to use the SILC -Runtime Toolkit as their primary runtime in their application.

+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. SRT and all of its APIs are entirely reentrant and some +APIs are completely thread safe. +

-The application programming interfaces are automatically generated from the -Toolkit sources, and the documentation is constantly evolving. New versions -of the Toolkit always delivers the latest version of this reference manual. +SRT is free software and is dual-licensed with GNU GPL and BSD licenses.

-

GUIDES

+

DOWNLOAD

-

TOOLKIT REFERENCE

+

DOCUMENTATION

-
  • Runtime Toolkit Interface -
  • Async Operation Interface -
  • Atomic Operations Interface -
  • Base64 Interface -
  • Bit Operations Interface -
  • Buffer Format Interface -
  • Buffer Interface -
  • Condition Variable Interface -
  • Config File Interface -
  • Directory Interface -
  • Dynamic List Interface -
  • Environment Interface -
  • Errno Interface -
  • Fd Stream Interface -
  • File Util Interface -
  • Finite State Machine -
  • GetOpt Interface -
  • Global Variable Interface -
  • Hash Table Interface -
  • List Interface -
  • Logging Interface -
  • Memory Interface -
  • Memory Pool Interface -
  • MIME Interface -
  • Misc Utilities -
  • Mutex Interface -
  • Network Interface -
  • Random Number Interface -
  • Regex Interface -
  • Scheduler Interface -
  • Shared Object Interface -
  • Snprintf Interface -
  • Socket Stream Interface -
  • Stream Interface -
  • String Utilities -
  • Stringprep Interface -
  • Thread Interface -
  • Thread Queue Interface -
  • Time Interface -
  • Timer Interface -
  • Types and Definitions -
  • UTF-8 Interface +

    DEVELOPMENT

    + -
  • Toolkit Index
    - +

    +To clone SRT repository give one of the following commands: +

    + git clone git://git.silc.fi/runtime
    + git clone http://git.silc.fi/runtime
    +
    +

  • @@ -108,10 +78,7 @@ of the Toolkit always delivers the latest version of this reference manual. - + SILC Project Website
    Copyright © 2001 - 2008 SILC Project
    - SILC Project Website
    - SILC Runtime Toolkit Manual
    - Index
    diff --git a/doc/runtime.in/manual.html.in b/doc/runtime.in/manual.html.in new file mode 100644 index 00000000..7d6f4f45 --- /dev/null +++ b/doc/runtime.in/manual.html.in @@ -0,0 +1,121 @@ + + + + + + + +SILC Runtime Toolkit + + + + + +
    + +
    +

    SILC Runtime Toolkit Reference Manual

    +

    +Version: @VERSION@
    +Copyright © 1997 - 2008 The SILC Project
    +Updated: @DATE@ +

    +

    +Welcome to the SILC Runtime Toolkit Reference Manual. The manual is a +complete developer guide and reference for the application programmer. +The manual is intended for programmers who would like to use the SILC +Runtime Toolkit as their primary runtime in their application.

    +

    +The application programming interfaces are automatically generated from the +Toolkit sources, and the documentation is constantly evolving. New versions +of the Toolkit always delivers the latest version of this reference manual. +

    + +

    GUIDES

    + + +

    TOOLKIT REFERENCE

    + + +
    + +
    + + + + diff --git a/doc/runtime.in/platforms.html b/doc/runtime.in/platforms.html index a23a9551..4e352410 100644 --- a/doc/runtime.in/platforms.html +++ b/doc/runtime.in/platforms.html @@ -35,14 +35,15 @@ This document describes the implementation issues with different platforms that the SILC Runtime Toolkit support. Some of the supported platforms does not support all the features delivered with the Toolkit or they may behave differently from other platforms. +
    -
     
    + -
     
     
    Supported Platforms
     
    @@ -67,8 +68,9 @@ supported on Windows. However, there are some certain issues with the Windows version of the Toolkit.
     
    +
     
     
    Mac OS X Implementation @@ -88,7 +90,7 @@ features and components delivered with the Toolkit are supported and should work on Symbian. However, there are some issues with the Symbian version of the Toolkit of what Symbian developers need to be aware. -
     
    + +
     
    -- 2.24.0