From: Pekka Riikonen Date: Mon, 23 Jul 2001 16:53:02 +0000 (+0000) Subject: updates X-Git-Tag: robodoc-323~37 X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=commitdiff_plain;h=4a3be98c623d1affcfe9007398cfc9e5f745ac6f updates --- diff --git a/public_html/about.php b/public_html/about.php index 5ceee8e1..d17cef90 100644 --- a/public_html/about.php +++ b/public_html/about.php @@ -1,96 +1,95 @@ About SILC -

+

SILC (Secure Internet Live Conferencing) is a protocol which provides secure conferencing services in the Internet over insecure channel. SILC superficially resembles IRC, although they are very different internally. -They both provide conferencing services and have almost same set of of +They both provide conferencing services and have almost same set of commands. Other than that, they are nothing alike. The SILC is secure and the network model is entirely different compared to IRC. -

+

SILC provides security services that any other conferencing protocol does not offer today. The most popular conferencing service, IRC, is entirely -insecure. If you need secure place to talk to some people or to group of +insecure. If you need secure place to talk to some person or to group of people over the Internet, IRC or any other conferencing service, for that matter, cannot be used. Anyone can see the messages and their contents in -the IRC network. And the most worse case, some people is able to change +the IRC network. And the most worse case, some bad guy is able to change the contents of the messages. Also, all the authentication data, such as, passwords are sent plaintext. -

-SILC is a lot more than just about `encrypting the traffic'. That is easy +

+SILC is much more than just about `encrypting the traffic'. That is easy enough to do with IRC and SSL hybrids, but even then the entire network cannot be secured, only part of it. SILC provides security services, such -as, sending private messages entirely secure; no one can see the message +as sending private messages entirely secure; no one can see the message except you and the real receiver of the message. SILC also provides same functionality for channels; no one except those clients joined to the channel may see the messages destined to the channel. Communication -between client and server is also secured with session keys, and all +between client and server is also secured with session keys and all commands, authentication data (such as passwords etc.) and other traffic is entirely secured. The entire network, and all parts of it, is secured. We are not aware of any other conferencing protocol providing same features at the present time. -

+

SILC has secure key exchange protocol that is used to create the session keys for each connection. SILC also provides strong authentication based on either passwords or public key authentication. All authentication data -is always encrypted in the SILC network. All connections has their own -session keys, all channels has channel specific keys, and all private +are always encrypted in the SILC network. Each connection has their own +session keys, all channels have channel specific keys, and all private messages can be secured with private message specific keys. -

+

Availability -

-The SILC is distributed currently as three different packages. The SILC +

+The SILC is distributed currently in three different packages. The SILC Client package, the SILC Server package and the SILC Toolkit package. Each -of the package has its intended audience. -

-- SILC Client package is intended for end users who seek a good and full -featured SILC client. The SILC Client package currently includes +package has its intended audience. +

+- SILC Client package is intended for end users who are looking for a good +and full featured SILC client. The SILC Client package currently includes Irssi-SILC client that supports all SILC features, themes and much more. It is curses based but has a possibility of adding various other frontends to it. The Irssi-SILC client's user interface is based on the Irssi client (see Irssi project). -

+

- SILC Server package is intended for system administrators who would like to run their own SILC server or SILC router. The package includes the actual server but not the client. If you are running a server and would like to connect it to the silc.silcnet.org router you can contact us. -

+

- SILC Toolkit package is intended for developers and programmers who would like to create their own SILC based applications or help in the development of the SILC protocol. The actual development of the SILC is done in the Toolkit and all the other packages are based on the Toolkit releases. The Toolkit includes SILC Protocol Core library, SILC Crypto library, SILC Key Exchange (SKE) library, SILC Math library, SILC Modules -(SIM) library, SILC Utility library, SILC Client library and some other +(SIM) library, SILC Utility library, SILC Client library and few other libraries. It also includes the Irssi-SILC Client, another client as an example how to program with the Toolkit and the SILC Server. -

+

Licensing -

-SILC is an open source (or freeware) project and it has been released -under the GNU General Public Licence. The SILC is free to use and -everyone is free to distribute and change the SILC under the terms of the -GNU GPL. While there is no guarantee for the product, SILC is made as -secure as possible. The fact that the software and the protocol -is open for public analysis is a good thing for end user. -

-Protocol specification of SILC protocol is available for anyone to look -at. There exists four Internet Drafts that has been submitted to the
+SILC is an Open Source (or Free Software) project and it has been released +under the GNU General Public License. The SILC is free to use and everyone +is allowed to freely redistribute and change the SILC under the terms of the +GNU GPL. While there is no guarantee for the product, SILC is made as secure +as possible. The fact that the software and the protocol is open for public +analysis is a good thing for end user. +

+Specification of SILC protocol is available for anyone to look at. There +exist four Internet Drafts that have been submitted to the
IETF. See documentation page for more information. -

+

Contact -

-Feedback and comments are welcome. You can reach me in the following Address. -

-Pekka Riikonen
-priikone at silcnet.org +

+Feedback and comments are welcome. You can reach me at the following address: +

+Pekka Riikonen
+priikone at silcnet.org
-

diff --git a/public_html/contribute.php b/public_html/contribute.php index 62e6c7ac..c03cc272 100644 --- a/public_html/contribute.php +++ b/public_html/contribute.php @@ -1,24 +1,23 @@ Contributing -

-Developers are needed in SILC project. Everyone who has the time and -ability is welcome to come and join the project. We need C coders and -technical writers (to write documentation). Feel free to start narrowing -down the TODO list. -

+

+Developers are needed in SILC project. Everyone who has the time and +ability is welcome to join the project. We need C coders and technical +writers (to write documentation). Feel free to start narrowing down the TODO +list. +

Interested people are also welcome to give new ideas to the SILC protocol -that is still in its draft phase. You should probably go and read the -SILC protocol specification Internet Drafts to get the idea about what -SILC actually is. The current software version might not give the -whole picture of the SILC. The Internet Drafts are available in +that is still in its draft phase. You should probably go and read the SILC +protocol specification Internet Drafts to get the idea about what SILC +actually is. The current software version might not give the whole picture +of the SILC. The Internet Drafts are available in documentation page. -

+

Who wants to send code to the project should read the CodingStyle -documentation. New code must comply with the coding style conventions +documentation. New code must comply with the coding style conventions described in that document. -

+

There is anonymous CVS acccess for those who want to participate the -development process. Go see the CVS page. +development process. See the CVS page.
-

diff --git a/public_html/copying.php b/public_html/copying.php index 83ec298d..1cff035b 100644 --- a/public_html/copying.php +++ b/public_html/copying.php @@ -1,15 +1,15 @@ -GNU GENERAL PUBLIC LICENSE
+GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
-

-Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+

+Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA -

-Everyone is permitted to copy and distribute verbatim copies
+

+Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed. -

+

Preamble -

+

The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free @@ -19,47 +19,47 @@ Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. -

+

When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. -

+

To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. -

+

For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. -

+

We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. -

+

Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. -

+

Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. -

+

The precise terms and conditions for copying, distribution and modification follow. -

+

TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION -

+

0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed @@ -70,14 +70,14 @@ that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". -

+

Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. -

+

1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you @@ -86,26 +86,26 @@ copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. -

+

You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. -

+

2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: -

+

a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. -

+

b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. -

+

c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such @@ -117,7 +117,7 @@ above, provided that you also meet all of these conditions: License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) -

+

These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in @@ -127,27 +127,27 @@ distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. -

+

Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. -

+

In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. -

+

3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: -

+

a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, -

+

b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your @@ -155,14 +155,14 @@ Sections 1 and 2 above provided that you also do one of the following: machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, -

+

c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) -

+

The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any @@ -173,13 +173,13 @@ anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. -

+

If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. -

+

4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt @@ -188,7 +188,7 @@ void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. -

+

5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or @@ -198,7 +198,7 @@ modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. -

+

6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the @@ -207,7 +207,7 @@ these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. -

+

7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), @@ -221,12 +221,12 @@ license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. -

+

If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. -

+

It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the @@ -237,10 +237,10 @@ through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. -

+

This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. -

+

8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the @@ -249,13 +249,13 @@ may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. -

+

9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. -

+

Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions @@ -263,7 +263,7 @@ either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. -

+

10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author @@ -272,9 +272,9 @@ Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. -

+

NO WARRANTY -

+

11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN @@ -285,7 +285,7 @@ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. -

+

12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR @@ -296,7 +296,6 @@ TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. -

+

END OF TERMS AND CONDITIONS
-

diff --git a/public_html/counter.php b/public_html/counter.php new file mode 100644 index 00000000..0ee2027a --- /dev/null +++ b/public_html/counter.php @@ -0,0 +1,32 @@ + diff --git a/public_html/cvs.php b/public_html/cvs.php index e19f4546..fa0ea823 100644 --- a/public_html/cvs.php +++ b/public_html/cvs.php @@ -1,198 +1,201 @@ Anonymous CVS access -

+

Anonymous CVS access is now available to SILC CVS repository. The repository includes everything related to SILC project; source codes, documentation and even these web pages. The CVS access is of course public -but it is intended for developers. After you have checked out the SILC +but it is intended for developers. After you have checked out the SILC source tree you should read README.CVS file from the source tree or rest of this web page. -

+

Also note that this is the closest to real time development you can get thus you cannot expect that the source tree would work or even compile. While it is our intention that the trunk would always at least compile there might be situations when it will not. -


+

Browsing the Source Tree -

+

If you want to browse the source tree using web browser before checking out the tree with CVS use following link: -

+

Web Access to CVS repository -

+

Note that this is not real-time access to the CVS repository. It is updated once a day. If you want real-time access then checkout the CVS repository. -


+

Howto Checkout The Source Tree -

+

The repository can be checked out by using anonymous pserver with CVS. -

-For those who are using sh/ksh/bash the check out is done as follows: -

+

+For those who are using sh/ksh/bashi/zsh the check out is done as follows: +

export CVSROOT=:pserver:cvs@cvs.silcnet.org:/cvs/silc -

-cvs login
-cvs co silc
+

+cvs login
+cvs co silc
+cvs logout
-

+

For those who are using csh/tcsh the check out is done as follows: -

+

setenv CVSROOT :pserver:cvs@cvs.silcnet.org:/cvs/silc -

-cvs login
-cvs co silc
+

+cvs login
+cvs co silc
+cvs logout
-

+

If you don't want to set $CVSROOT environment variable you can set the -path to the cvs as command line options: -

+path to the cvs as command line option: +

-cvs -d:pserver:cvs@cvs.silcnet.org:/cvs/silc login
-cvs -d:pserver:cvs@cvs.silcnet.org:/cvs/silc co silc +cvs -d:pserver:cvs@cvs.silcnet.org:/cvs/silc login
+cvs -d:pserver:cvs@cvs.silcnet.org:/cvs/silc co silc
+cvs -d:pserver:cvs@cvs.silcnet.org:/cvs/silc logout
-

-What ever method you decide to use, after you have done cvs login you will +

+Whatever method you will decide to use, after you have done cvs login you will be prompted for password: -

+

CVS password: silc -

-Type the password "silc" and press Enter. -

+

+Type the password "silc" and press <ENTER> +

The actual SILC source tree is checked out using the cvs co silc command, described above. This command will fetch the source tree and save it into directory named silc. SILC CVS repository currently does not have any branches thus this will check out the trunk. The size of the trunk is currently about 13 MB but will grow in the future. -


+

What SILC Source Tree Includes -

+

SILC Source tree includes a lot more stuff that appears in public -distribution. The source tree includes, for example, internal scripts, -configuration files, SILC webpages etc. These never appear on a public +distribution. The source tree includes, for example, internal scripts, +configuration files, SILC webpages etc. These never appear on a public distribution. -

+

Following directories currently exist in SILC source tree. -

+

doc/ -

-Includes all the SILC documentation. Some of the documentation -are generated when distribution is generated. The automatically -generated files must never be commited to CVS. -

+

+Includes all the SILC documentation. Few parts of the documentation +are generated when distribution is generated. The automatically +generated files should never be commited to CVS. +

includes/ -

+

Includes SILC include files. -

+

lib/ -

-Includes SILC libraries. There maybe libraries on the CVS that -does not appear on public distribution. -

+

+Includes SILC libraries. There are maybe libraries in the CVS which +are not inclduded in public distribution. +

public_html/ -

-Includes the official SILC web pages and everything that relates -to them. This directory never appears on public distribution. -

+

+Includes the official SILC web pages and everything related to them. +This directory will never appear in public distribution. +

silc/ -

-Includes SILC client. There can be some extra files that will -never appear in public distribution, such as, configuration files. -

+

+Includes SILC client. There can be some extra files that will +never appear in public distribution, such as configuration files. +

silcd/ -

-Includes SILC server. There can be some extra files that will -never appear in public distribution, such as, configuration files. +

+Includes SILC server. There can be some extra files that will +never appear in public distribution, such as configuration files.
-


+

Howto Compile SILC Source Tree -

-After checkout from CVS the SILC source tree must be prepared for -configuration and compilation. To compile the source tree, give, -

+

+After checkout from CVS the SILC source tree needs to be prepared for +configuration and compilation. To compile the source tree, type: +

-./prepare
-./configure --enable-debug
-make +./prepare
+./configure --enable-debug
+make

+note: on non-Linux operating systems GNU make (gmake) is prefered
-

+

-The ./prepare script is included in to the source tree and it never -appears in public distribution. The script prepares the source tree -by creating configuration scripts and Makefiles. The prepare must be -run every time you make some changes to configuration scripts (however, +The ./prepare script is included in the source tree and it will never +appears in public distribution. The script prepares the source tree +by creating configuration scripts and Makefiles. The prepare must be +run every time you made any changes to configuration scripts (however, making changes to Makefile.am's does not require running ./prepare). -

-As a developer you should read the ./configure script's help by -giving ./configure --help and study all of its different options. Also, -you should configure the script with --enable-debug option as it -compiles SILC with -g (debugging) option and it enables the -SILC_LOG_DEBUG* scripts. Warning is due here: The debugging produced -by both cilent and server is very heavy, thus it is common to test -the programs as follows: -

+

+As a developer you should read the ./configure script's help by typing +./configure --help and study all of its different options. Also you +should configure the script with --enable-debug option as it compiles +SILC with -g (debugging) option and it enables the SILC_LOG_DEBUG* +scripts. Warning is due here: The debugging produced by both cilent +and server is very huge, thus it is common to test the programs as +follows: +

-./silc -d -f configfile 2>log
+./silc -d -f configfile 2>log
./silcd -d -f configfile 2>log
-


+

-Howto Clean SILC Source Tree -

+How to clean SILC Source Tree +

To entirely clear the source tree to the state after it was checked out -from CVS, give, -

+from CVS, type: +

./prepare-clean -

+


This calls `make distclean' plus removes automatically generated files -by hand. It also removes *.log files. However, it will not remove -any other files you might have created. +by hand. It also removes *.log files. However, it will not remove any +other files you might have created. -


+

Makefiles and configuration files -

-Developers should never directly write a Makefile. All Makefiles are +

+Developers should never directly write a Makefile. All Makefiles are always automatically generated by ./prepare and later by ./configure -scripts. Instead, developers must write Makefile.am files. There -are plenty of examples what they should look like. If you change -Makefile.am during development you don't have to run ./prepare, just +scripts. Instead, developers have to write Makefile.am files. There +are plenty of examples what they should look like. If you changed +Makefile.am during development you do not need to run ./prepare, just run normal make. -

+
Configuration files are the files that ./prepare automatically generates -and what will be included into public distribution. ./prepare creates +and which will be included into public distribution. ./prepare creates for example the ./configure script that is not commited to the CVS. -`configure.in' is the file that developers must edit to change ./configure -script. After changing one must run ./prepare. +`configure.in' is the file that developers have to edit to change ./configure +script. After doing changes you need to run ./prepare. -

diff --git a/public_html/docs.php b/public_html/docs.php index 68792712..29ddba51 100644 --- a/public_html/docs.php +++ b/public_html/docs.php @@ -1,87 +1,88 @@ SILC Documentation -

-Currently the SILC documentation is under work and the software does not -have that much of a documentation. -

-README file from the software: README -
+

+Currently working on the SILC documentation is in progress and the software +does not have extensive documentation at all. +

+README file from packages: README +
Coding Style in SILC source tree: CodingStyle -

+

Coming later: Software manual, SILC Library Reference manual -


+


SILC Protocol Internet Drafts -

+

-SILC Protocol is documented and four Internet Drafts exists. These -Internet Drafts are also available from +SILC Protocol is documented and four Internet Drafts exist. These +Internet Drafts are also available from IETF. -

+
Updated on Sun Jul 22 22:01:38 EEST 2001: These new +updated drafts will be submitted to the IETF after the August 14th 2001. +

Secure Internet Live Conferencing (SILC), Protocol Specification -

+

Abstract -

+

This memo describes a Secure Internet Live Conferencing (SILC) protocol which provides secure conferencing services over insecure - network channel. SILC is IRC [IRC] like protocol, however, it is - not equivalent to IRC and does not support IRC. Strong cryptographic + network channel. SILC is IRC [IRC] like protocol, however, it is + not equivalent to IRC and does not support IRC. Strong cryptographic methods are used to protect SILC packets inside the SILC network. Three other Internet Drafts relates very closely to this memo; SILC Packet Protocol [SILC2], SILC Key Exchange and Authentication Protocols [SILC3] and SILC Commands [SILC4]. -

- -draft-riikonen-silc-spec-02.txt -


+

+ +draft-riikonen-silc-spec-03.txt +


SILC Packet Protocol -

+

Abstract -

+

This memo describes a Packet Protocol used in the Secure Internet Live Conferencing (SILC) protocol, specified in the Secure Internet Live Conferencing, Protocol Specification Internet Draft [SILC1]. This protocol describes the packet types and packet payloads which defines - the contents of the packets. The protocol provides secure binary packet - protocol that assures that the contents of the packets are secured and - authenticated. -

- -draft-riikonen-silc-pp-02.txt -


+ the contents of the packets. It provides secure binary packet protocol + that assures that the content of the packets is secured and authenticated. +

+ +draft-riikonen-silc-pp-03.txt +


SILC Key Exchange and Authentication Protocols -

+

Abstract -

+

This memo describes two protocols used in the Secure Internet Live Conferencing (SILC) protocol, specified in the Secure Internet Live Conferencing, Protocol Specification internet-draft [SILC1]. The SILC Key Exchange (SKE) protocol provides secure key exchange between - two parties resulting into shared secret key material. The protocol + two parties resulting into shared secret key material. The protocol is based on Diffie-Hellman key exchange algorithm and its functionality - is derived from several key exchange protocols. SKE uses best parts + is derived from several key exchange protocols. SKE uses best parts of the SSH2 Key Exchange protocol, Station-To-Station (STS) protocol and the OAKLEY Key Determination protocol [OAKLEY]. -

+

The SILC Connection Authentication protocol provides user level - authentication used when creating connections in SILC network. The + authentication used when creating connections in SILC network. The protocol is transparent to the authentication data which means that it can be used to authenticate the user with, for example, passphrase (pre-shared-secret) or public key (and certificate). -

- -draft-riikonen-silc-ke-auth-02.txt -


+

+ +draft-riikonen-silc-ke-auth-03.txt +


SILC Commands -

+

Abstract -

+

This memo describes the commands used in the Secure Internet Live Conferencing (SILC) protocol, specified in the Secure Internet Live Conferencing, Protocol Specification Internet Draft [SILC1]. The @@ -89,9 +90,8 @@ Abstract the commands are used by SILC clients to manage the SILC session, but also SILC servers may use the commands. This memo specifies detailed command messages and command reply messages. -

- -draft-riikonen-silc-commands-00.txt -
+

+ +draft-riikonen-silc-commands-01.txt +
-

diff --git a/public_html/download.php b/public_html/download.php index cadb0ed7..78d93e20 100644 --- a/public_html/download.php +++ b/public_html/download.php @@ -1,81 +1,82 @@ Download SILC -

+

The SILC is distributed in three different packages; the SILC Client, the SILC Server and the SILC Toolkit. The SILC Client is intended for end users, the SILC Server for system administrators and the SILC Toolkit for developers. -

+

SILC Client -

+

The SILC Client package is inteded for end users who need only the SILC client. The package includes the new Irssi-SILC client. -

+

Sources HTTP: - + tar.gz ( KB), - +div(FileSize($DownloadRoot."silc-client-".$latestc.".tar.gz"),1024); ?> KB), + tar.bz2 ( KB) -
-Sources FTP: tar.gz and tar.bz2 -

+div(FileSize($DownloadRoot."silc-client-".$latestc.".tar.bz2"),1024); ?> KB) +
+Sources FTP: tar.gz and tar.bz2 +

SILC Server -

+

The SILC Server package is intended for system administrators who wants to setup their own SILC server or router. The package includes only the server and not the client. People who is running SILC servers and are interested to get the server linked to the new router on silc.silcnet.org contact me now. -

+

Sources HTTP: - + tar.gz ( KB), - +div(FileSize($DownloadRoot."silc-server-".$latests.".tar.gz"),1024); ?> KB), + tar.bz2 ( KB) -
-Sources FTP: tar.gz and tar.bz2 -

+div(FileSize($DownloadRoot."silc-server-".$latests.".tar.bz2"),1024); ?> KB) +
+Sources FTP: tar.gz and tar.bz2 +

SILC Toolkit -

+

The SILC Toolkit package is intended for developers and programmers who would like to create their own SILC applications or help in the development of the SILC protocol. -

+

Sources HTTP: - + tar.gz ( KB), - +div(FileSize($DownloadRoot."silc-toolkit-".$latest.".tar.gz"),1024); ?> KB), + tar.bz2 ( KB) -
-Sources FTP: tar.gz and tar.bz2 -

+div(FileSize($DownloadRoot."silc-toolkit-".$latest.".tar.bz2"),1024); ?> KB) +
+Sources FTP: tar.gz and tar.bz2 +

CVS Snapshots -

+

Daily CVS snapshots are available. These are generated 22:00 GMT every night. Read the CVS page for more information. -

-HTTP: CVS Snapshot -

+

+HTTP: CVS Snapshot +

Portability -

+

The SILC has been reported to work on, at least: -

- - Linux
- - FreeBSD
- - NetBSD
- - OpenBSD
- - HP-UX
- - Solaris
- - Windows (cygwin) -


+

+ - Linux
+ - FreeBSD
+ - NetBSD
+ - OpenBSD
+ - HP-UX
+ - Solaris
+ - Windows
+ - Cygwin & MinGW
+ diff --git a/public_html/faq.php b/public_html/faq.php index 435e0397..e70056f0 100644 --- a/public_html/faq.php +++ b/public_html/faq.php @@ -1,98 +1,305 @@ -Frequently Asked Questions +Frequently Asked Questions

-

-Q: What is SILC?
+1. General Questions
+     1.1 What is SILC?
+     1.2 When was SILC Project started?
+     1.3 Why SILC in the first place?
+     1.4 What license covers the SILC release?
+     1.5 Why SILC? Why not IRC3?
+     1.6 What platforms SILC supports?
+     1.7 Where can I find more information?
+     1.8 I would like to help out, what can I do?
+
+2. Protocol Questions
+     2.1 What is the status of SILC protocol in the IETF?
+     2.2 How much the SILC protocol is based on IRC?
+     2.3 Why use SILC? Why not IRC with SSL?
+     2.4 Can I talk from SILC network to IRC network?
+     2.5 Does SILC support file transfer?
+     2.6 I am behind a firewall, can I use SILC?
+     2.7 How secure SILC really is?
+     2.8 Does SILC support instant messaging?
+     2.9 I have suggestions to SILC Protocol, what can I do?
+
+3. Client Questions
+     3.1 Where can I find SILC clients?
+     3.2 Can I use SILC with IRC client and vice versa?
+
+4. Server Questions
+     4.1 Where can I find SILC servers?
+     4.2 Can I run own SILC server?
+     4.3 What is the difference between SILC server and SILC router?
+
+5. Toolkit Questions
+     5.1 What is SILC Toolkit?
+

+ + +1. General Questions

+ + +Q: What is SILC?
A: SILC (Secure Internet Live Conferencing) is a protocol which provides secure conferencing services in the Internet over insecure channel. SILC is IRC like although internally they are very different. Biggest similarity between SILC and IRC is that they both provide conferencing services and that SILC has almost same commands as IRC. Other than that they are nothing alike. -

+

Biggest differences are that SILC is secure what IRC is not in any way. The network model is also entirely different compared to IRC. -

-Q: Why SILC in the first place?
-A: Simply for fun, nothing more. An actually for need back then when it -was started. SILC has been very interesting and educational project. -

-Q: Why use SILC? Why not IRC with SSL?
-A: Sure, that is possible, although, does that secure the entire IRC -network? And does that increase or decrease the lags and splits in the IRC network? Does that provide user based security where some specific private message are secured? Does that provide security where some specific channel messages are secured? Security is not just about applying encryption to traffic and SILC is not just about `encrypting the traffic`. You cannot make insecure protocol suddenly secure just by encrypting the traffic. SILC is not meant to be IRC replacement. IRC is good for some things, SILC is good for same and some other things. -

-Q: Can I use SILC with IRC client? What about can I use IRC with SILC client?
-A: Answer for both question is no. IRC client is in no way compatible -with SILC server. SILC client cannot currently use IRC but this may -change in the future if IRC support is added to the SILC client. After -that one could use both SILC and IRC with the same client. Although, even -then one cannot talk from SILC network to IRC network. That just is not -possible. -

-Q: Why client/server protocol is based on IRC? Would it be more interesting to implement something extensible and more powerful?
-A: They are not, not the least. Have you read the protocol specification? -The client superficially resembles IRC client but everything that happens -under the hood is nothing alike IRC. SILC could *never* support IRC -because the entire network toppology is different (hopefully more scalable -and powerful). So no, SILC protocol (client or server) is not based on -IRC. Instead, I've taken good things from IRC and left all the bad things -behind and not even tried to burden myself with the IRC caveats that will -burden IRC and future IRC projects til the end. SILC client resembles IRC -client because it is easier for new users to start using SILC when they -already know all the commands. -

-Q: Why SILC? Why not IRC3?
-A: Question that is justified no doubt of that. I didn't start doing SILC to be replacement for IRC. SILC was something that didn't exist in 1996 or even today except that SILC is now released. However, I did check out the IRC3 project in 1997 when I started coding and planning the SILC protocol. -

+

+ + +Q: When was SILC Project started?
+A: The SILC development started in 1996 and early 1997. But, for various +reasons it suspended many times until it finally got some wind under its +wings in 1999. First public release was in summer 2000. +

+ + +Q: Why SILC in the first place?
+A: Simply for fun, nothing more. And actually for need back in the days +when it was started. When SILC was first developed there really did not +exist anything like this. SILC has been very interesting and educational +project. +

+ + +Q: What license covers the SILC release?
+A: The SILC software developed here at silcnet.org, the SILC Client, the +SILC Server and the SILC Toolkit are covered by the GNU General Public +License. +

+ + +Q: Why SILC? Why not IRC3?
+A: Question that is justified no doubt of that. SILC was not started to +become a replacement for IRC. SILC was something that didn't exist in 1996 +or even today except that SILC is now released. However, I did check out +the IRC3 project in 1997 when I started coding and planning the SILC protocol. +

But, IRC3 is problematic. Why? Because it still doesn't exist. The -project is at the same spot where it was in 1997 when I checked it out. -And it was old project back then as well. Couple of months ago I checked -it again and nothing were happening. That's the problem of IRC3 project. -The same almost happened to SILC as well as I wasn't making real progress -over the years. I talked to the original author of IRC, Jarkko Oikarinen, -in 1997 and he directed me to the IRC3 project, although he said that -IRC3 is a lot of talking and not that much of anything else. I am not -trying to put down the IRC3 project but its problem is that no one in the -project is able to make a decision what is the best way to go about +project is almost at the same spot where it was in 1997 when I checked it +out. And it was old project back then as well. That's the problem of IRC3 +project. The same almost happened to SILC as well as I wasn't making real +progress over the years. I talked to the original author of IRC, Jarkko +Oikarinen, in 1997 and he directed me to the IRC3 project, although he +said that IRC3 is a lot of talking and not that much of anything else. I +am not trying to put down the IRC3 project but its problem is that no one +in the project is able to make a decision what is the best way to go about making the IRC3 and I wasn't going to be part of that. The fact is that if I would've gone to IRC3 project, nor IRC3 or SILC would exist today. I think IRC3 could be something really great if they just would get their act together and start coding the thing. -

-Q: How secure SILC really is?
-A: A good question which I don't have a answer. SILC has been tried to -make as secure as possible. However, there is no security protocol or +

+ + +Q: What platforms SILC supports?
+A: The SILC Client is available on various Unix systems and is reported to +work under cygwin on Windows. The SILC Server also works on various Unix +systems. However, the server has not been tested under cygwin as far as we +know. The SILC Toolkit is distributed for all platforms, Unix, Cygwin +and native Windows. +

+ + +Q: Where can I find more information?
+A: For more technical information we suggest reading the SILC Protocol +specifications. You might also want to take a look at the documentation page on the web page. +

+ + +Q: I would like to help out, what can I do?
+A: You might want to take a look at the Contributing page and the TODO list. You might also want to join the +SILC development mailing list. +

+ + +2. Protocol Questions

+ + +Q: What is the status of SILC protocol in the IETF?
+A: The SILC protocol specifications has been submitted currently as +individual submissions. There does not currently exist a working group +for this sort of project. Our goal is to fully standardize the SILC and +thus submit it as RFC to the IETF at a +later time. +

+ + +Q: How much SILC Protocol is based on IRC?
+A: SILC is not based on IRC. The client superficially resembles IRC +client but everything that happens under the hood is nothing alike IRC. +SILC could *never* support IRC because the entire network toppology is +different (hopefully more scalable and powerful). So no, SILC protocol +(client or server) is not based on IRC. Instead, We've taken good things +from IRC and left all the bad things behind and not even tried to burden +the SILC with the IRCs problems that will burden IRC and future IRC +projects till the end. SILC client resembles IRC client because it is +easier for new users to start using SILC when they already know all the +commands. +

+ + +Q: Why use SILC? Why not IRC with SSL?
+A: Sure, that is possible, although, does that secure the entire IRC +network? And does that increase or decrease the lags and splits in the +IRC network? Does that provide user based security where some specific +private message are secured? Does that provide security where some +specific channel messages are secured? And I know, you can answer yes to +some of these questions. But, security is not just about applying +encryption to traffic and SILC is not just about `encrypting the +traffic`. You cannot make insecure protocol suddenly secure just by +encrypting the traffic. SILC is not meant to be IRC replacement. IRC is +good for some things, SILC is good for same and some other things. +

+ + +Q: Can I talk from SILC network to IRC network?
+A: Simple answer for this is No. The protocols are not compatible which +makes it impossible to directly talk from SILC network to IRC network or +vice versa. Developing a gateway between these two networks would +technically be possible but from security point of view strongly not +recommended. We have no plans for developing such a gateway. +

+ + +Q: Does SILC support file transfer?
+A: Not yet. This is a feature that will be added to the SILC protocol. +The exact file transfer protocol is undefined. +

+ + +Q: I am behind a firewall, can I use SILC?
+A: Yes. If your network administrator can open the port 706 (TCP) you can +use SILC without problems. You may also compile your SILC client with +SOCKS support which will proxy your SILC session through the firewall. +

+ + +Q: How secure SILC really is?
+A: A good question which I don't have an answer for. We have tried to make +SILC as secure as possible. However, there is no security protocol or security software that has not been vulnerable to some sort of attacks. SILC is in no means different from this. So, it is suspected that there -are security holes in the SILC. These holes just needs to be found so +are security holes in the SILC. These holes just need to be found so that they can be fixed. -

+

But to give you some parameters of security SILC uses the most secure -crytographic algorithms such as AES, Twofish, Blowfish, RC5, etc. SILC -does not have DES or 3DES as DES is insecure and 3DES is just too slow. -SILC also uses cryptographically strong random number generator when it -needs random numbers. Public key cryptography uses RSA (PKCS #1) and -Diffie Hellman algorithms. Key lengths for ciphers are initially set to -256. For public key algorithms the starting key length is 1024 bits. -

+crytographic algorithms such as AES(Rijndael), Twofish, Blowfish, RC5, +etc. SILC does not have DES or 3DES as DES is insecure and 3DES is just +too slow. SILC also uses cryptographically strong random number generator +when it needs random numbers. Public key cryptography uses RSA (PKCS #1) +and Diffie-Hellman algorithms. Key lengths for ciphers are initially set +to 256. For public key algorithms the starting key length is 1024 bits. +

But the best answer for this question is that SILC is as secure as its weakest link. SILC is open and the protocol is open and in public thus -open for security analyzes. -

+open for security analysis. +

To give a list of attacks that are ineffective against SILC: -

+

- Man-in-the-middle attacks are ineffective if proper public key infrastructure is used. SILC is vulnerable to this attack if the public keys used in the SILC are not verified to be trusted (as any other -protocol for that matter).
-- IP spoofing is ineffective (because of encryption and trusted keys).
-- Attacks that change the contents of the data or add extra data to the -packets are ineffective (because of encryption and integrity checks).
-- Passive attacks (listenning network traffic) are ineffective (because +protocol for that matter).
+ - IP spoofing is ineffective (because of encryption and trusted keys).
+ - Attacks that change the contents of the data or add extra data to the +packets are ineffective (because of encryption and integrity checks).
+ - Passive attacks (listenning network traffic) are ineffective (because of encryption). Everything is encrypted including authentication data -such as passwords when they are needed.
-- Any sort of cryptanalytic attacks are tried to make ineffective by -using the best cryptographic algorithms out there.
-

-More to come later... +such as passwords when they are needed.
+ - Any sort of cryptanalytic attacks are tried to make ineffective by +using the best cryptographic algorithms out there. +

+ + +Q: Does SILC support instant messaing?
+A: SILC is not an instant message (IM) system, like ICQ and the others. +SILC is more IRC like system, "real-time" chat and that kind of +stuff. +

+ + +Q: I have suggestions to SILC Protocol, +what can I do?
+A: All suggestions and improvements are of course welcome. You should read +the protocol specifications first to check out whether your idea is +covered by them already. The best place to make your idea public is the +SILC development mailing list. +

+ + +3. Client Questions

+ + +Q: Where can I find SILC clients?
+A: The SILC client is available for free download from the silcnet.org web +page. Some people have also mentioned words Java and Perl when talking +about SILC clients. Nothing has appeared yet, though. +

+ + +Q: Can I use SILC with IRC client and vice versa?
+A: Generally the answer would be no for both. However, there exist already +at least one IRC client that supports SILC, the Irssi client. The current SILC client is +actually based on the user interface of the Irssi client. So, yes it is +possible to use SILC with some IRC clients and vice versa. But, this +does not mean that you can talk from SILC network to IRC network, that is +not possible. +

+ + +4. Server Questions

+ + +Q: Where can I find SILC servers?
+A: The SILC server is available for free download from the silcnet.org +web page. We are not aware of any other SILC server implementations, so far. +

+ + +Q: Can I run own SILC server?
+A: Yes of course. Download the SILC server package, compile and install +it. Be sure to check out the installation instructions and the README +file. You also should decide whether you want to run SILC server or SILC +router. +

+ + +Q: What is the difference between SILC +server and SILC router?
+A: The topology of the SILC network includes SILC routers and the SILC +servers (and SILC clients of course). Normal SILC server does not have +direct connections with other SILC servers. They connect directly to the +SILC router. SILC Routers may have several server connections and they +may connect to several SILC routers. The SILC routers are the servers in +the network that know everything about everything. The SILC servers know +only local information and query global information from the router when +necessary. +

+If you are running SILC server you want to run it as router only if you +want to have server connections in it and are prepared to accept server +connections. You also need to get the router connected to some other +router to be able to join the SILC network. You may run the server as +normal SILC server if you do not want to accept other server connections +or cannot run it as router. +

+ + +5. Toolkit Questions

+ + +Q: What is SILC Toolkit?
+A: SILC Toolkit is a package intended for software developers who would +like to develope their own SILC based applications or help in the +development of the SILC. The Toolkit includes SILC Protocol Core library, +SILC Crypto library, SILC Key Exchange (SKE) library, SILC Math +library, SILC Modules (SIM) library, SILC Utility library, SILC Client +library and few other libraries.
-

diff --git a/public_html/features.php b/public_html/features.php index 78a96183..448e1a78 100644 --- a/public_html/features.php +++ b/public_html/features.php @@ -1,34 +1,31 @@ Features -

-Features to be included into the final release of SILC. -

+

- Normal conferencing services such as private messages, channels, channel messages, etc. All traffic is secured and authenticated. -

+

- No unique nicknames. There can be 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. The maximum length of the nickname is 128 characters. The maximum length of the channel name is 256 characters. -

-- Channels can have channel operators and a channel founder which is the client who created the channel. Channel founder privileges supersedes the channel operator privileges. Also, channel founder privileges may be regained even if the founder leaves the channel. The requirement for this is that the client is connected to the same server it was originally connected. The channel founder cannot be removed from the channel by force. -

-- Channel messages are protected by channel key, generated by the server. The key is re-generated once in an hour. It is possible to set a private key for the channel so that even the servers does not know the key. Actually, it is possible to set several private keys so that only specific users on the channel may decrypt some specific messages. Adding the private key significantly increases the security as nobody else but the users on the channel knows the key. -

-- Private messages are protected using the session keys, generated when connecting to the server. This means that the private messages are decrypted and re-encrypted enroute to the true receiver of the message. However, it is possible to set a private key between two clients and protect the private messages with that key. In this case no server enroute can decrypt the message since they don't have the key. The SILC protocol provides an automatic key negotiation between two clients using the SKE protocol. This makes it very easy to negotiate a shared secret key with another client in the network. -

+

+- Channels can have channel operators and a channel founder which is the client who created the channel. Channel founder privileges supersedes the channel operator privileges. Also, channel founder privileges may be regained even if the founder leaves the channel. The requirement for this is that the client is connected to the same server it was originally connected. The channel founder cannot be removed (kicked) from the channel using force. +

+- Channel messages are protected by channel key, generated by the server. The key is re-generated once in an hour. It is possible to set a private key for the channel so that even the servers does not know the key. Actually, it is possible to set several private keys so that only specific users on the channel may decrypt some specific messages. Adding the private key significantly increases the security as nobody else but the users on the channel know the key. +

+- Private messages are protected using session keys, generated when connecting to the server. This means that the private messages are decrypted and re-encrypted enroute to the true receiver of the message. However, it is possible to set a private key between two clients and protect the private messages with that key. In this case no server enroute can decrypt the message since they don't have the key. The SILC protocol provides an automatic key negotiation between two clients using the SKE protocol. This makes it very easy to negotiate a shared secret key with another client in the network. +

- All the other traffic, like commands between client and the server are protected using the session keys. Session keys are re-generated once in an hour. The re-key may be done with or without the PFS (Perfect Forward Secrecy). -

+

- Secure key exchange and authentication protocol. SILC Key Exchange (SKE) protocol provides key material used in the SILC sessions in secure manner. The protocol is immune for example to man-in-the-middle attacks and is based on the Diffie-Hellman key exchange algorithm. 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. -

+

- All traffic is encrypted and authenticated using the best cryptographic algorithms out there. Cipher keys are, by default, 256 bits in length and public keys, by default, 1024 bits in length. -

-- Supports the following ciphers: AES, Twofish, Blowfish, Mars, Cast-256, RC5 and RC6. Supports the following hash functions: MD5 and SHA1. Supports the PKCS #1 (RSA) for public key cryptography. -

+

+- Supports the following ciphers: AES(Rijndael), Twofish, Blowfish, Mars, Cast-256, RC5 and RC6. Supports the following hash functions: MD5 and SHA1. Supports the PKCS #1 (RSA) for public key cryptography. +

- Supports data compression with GZIP to improve performance. -

+

- Supports SOCKS4 and SOCKS5 firewall traversal protocols. -

+

- 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. -

+

- SILC client can be installed and used without root privileges. -

+

- SILC client can be configured by system wide configuration files but with user specific configuration files as well.
-

diff --git a/public_html/history.php b/public_html/history.php index 0970134a..a34a3f9f 100644 --- a/public_html/history.php +++ b/public_html/history.php @@ -1,52 +1,33 @@ History -

-Even though SILC were released in summer 2000 to the public the idea and -the protocol itself is quite old. I got the idea about SILC in its -current form in the year 1996 and first lines of codes were written in -early 1997. This release is now third rewrite of the SILC. The very first -version were written in 1997 and it included SILC client and very very -preliminary SILC server. The server actually weren't usable but the -client looked pretty much the same as it does now. At that time the SILC -also included RSA implementation and 3DES implementation. The random -number generator that exists in this current release is actually based on -the RNG written in 1997. The RNG written in 1997, on the other hand, were -based on the SSH's random number generator. The RNG has been rewritten -twice since the first version. -

-I stopped writing the SILC later in 1997 when I got busy at school and in -work. The pause lasted several months. The development resumed in 1998 -when my friend (Juha Räsänen) and I implemented ElGamal algorithm. I -rewrote some other parts as well. However, for the same reasons as -previously the development stopped again. I resumed the development later -in 1998 by doing rewrite of the SILC in C++. This was obviously a mistake -but at that time it seemed like a good idea. Again, in the winter 1999 I -got very busy writing my thesis and was forced to stop the development -again. I also, started a new job in the spring. -

-Later, in 1999, I decided that this time I'm going to make it the right -way. C++ was obviously a bad choice so I decided to fall back to plain C -language. I also decided to do complete rewrite and started doing more -thorough planning of what the SILC actually should include. I also -decided that this time it is going to kill me before I stop the -development. I started writing SILC in the weekends and actually -everytime I had some spare time. I also started a new job but I didn't -let that get to my way. The result of this development effort is the -release now in public. -

-I've learned a lot by doing the SILC. I guess, when I started it I wasn't -that good of a C programmer. That alone was a reason why SILC hasn't seen -the day of light before now. My programming style has also changed -dramatically during these years. Actually, it has changed couple times -since this last rewrite as well. However, the code style of current SILC -release is quite consistent (actually the coding style SILC has been -written now I've learned in my current job). -

-There is probably over 85% of new code in this third rewrite. Rest has -just been copied from the old versions and only minor changes has been -made (like changed function names and overall coding style). I've -preserved the dates of the old files (dating back to 1997) that has -existed in some forms in the old versions. There is a lot of new code but -already I see a lot that needs rewriting. The development continues. +

+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.
-

diff --git a/public_html/lists.php b/public_html/lists.php index a1a5c470..ff53e2d0 100644 --- a/public_html/lists.php +++ b/public_html/lists.php @@ -1,18 +1,17 @@ Public SILC Mailing Lists -

-Available since: Sat Jul 22 17:23:48 EEST 2000 -

+

+Available since Sat Jul 22 17:23:48 EEST 2000 +

There is currently one mailing list available. The mailing list is the main SILC development mailing list. To subscribe to the mailing list visit the following link and follow the instructions on the web page. -

+

SILC-devel mailing list -

+

After you have subscribed as instructed on the web site you will receive email for further instructions. To send email to the list the email must -be destined to: silc-devel at -lists.sourceforge.net address. +be destined to: silc-devel at +lists.sourceforge.net address.
-

diff --git a/public_html/news.php b/public_html/news.php index 6a172b51..18d62a79 100644 --- a/public_html/news.php +++ b/public_html/news.php @@ -1,74 +1,72 @@ SILC Client Is Now Available! -
+
-

+

The new version of SILC Client is available! Read the README and INSTALL files after downloading for instructions how to compile and use SILC. Report bugs to the SILC development mailing list. -

+

Download: SILC Client Version -
-Changes: SILC Client +
+Changes:
SILC Client Changes
-


+


SILC Server Is Now Available! -
+
-

+

The new version of SILC Server is available! Read the README and INSTALL files after downloading for instructions how to compile and use SILC. Report bugs to the SILC development mailing list. -

+

This version has the functional server and router linking support. People who is running SILC servers and are interested to get the server linked to the new router on silc.silcnet.org contact me now. -

+

Download: SILC Server Version -
-Changes: SILC Server +
+Changes:
SILC Server Changes
-


+


SILC Toolkit Is Now Available! -
+
-

+

The new version of SILC Toolkit is available! This package is intended for developers and programmers who would like to create their own SILC applications or help in the development of SILC protocol. -

+

Download: SILC Toolkit Version -
+
Changes: SILC Toolkit Changes
-


+


SILC Server Available For Testing -

+

There is SILC server up and running that can be tested. Just give command /server silc.silcnet.org to connect to the server. There may be some action on channel #silc (unless everybody is sleeping) so you might want to give command /join #silc. -

+

Available servers: silc.silcnet.org on port 706 is SILC Router and silc.silcnet.org on port 707 is normal SILC server connected to the router. Both are available for free use.
- -

diff --git a/public_html/todo.php b/public_html/todo.php index 2aa9384a..375e4c60 100644 --- a/public_html/todo.php +++ b/public_html/todo.php @@ -1,11 +1,11 @@ -
+
-