<b>About SILC</b>
<font size="2">
-<br><br>
+<br /><br />
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.
-<br><br>
+<br /><br />
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.
-<br><br>
-SILC is a lot more than just about `encrypting the traffic'. That is easy
+<br /><br />
+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.
-<br><br>
+<br /><br />
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.
-<br><br>
+<br /><br />
</font>
<b>Availability</b>
<font size="2">
-<br><br>
-The SILC is distributed currently as three different packages. The SILC
+<br /><br />
+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.
-<br><br>
-- 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.
+<br /><br />
+- 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 <a href="http://irssi.org/">Irssi project</a>).
-<br><br>
+<br /><br />
- 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.
-<br><br>
+<br /><br />
- 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.
-<br><br>
+<br /><br />
</font>
<b>Licensing</b>
<font size="2">
-<br><br>
-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.
-<br><br>
-Protocol specification of SILC protocol is available for anyone to look
-at. There exists four Internet Drafts that has been submitted to the <a
+<br /><br />
+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.
+<br /><br />
+Specification of SILC protocol is available for anyone to look at. There
+exist four Internet Drafts that have been submitted to the <a
href="http://www.ietf.org">IETF</a>. See <a
href="index.php?page=docs">documentation page</a> for more information.
-<br><br></font>
+<br /><br /></font>
<b>Contact</b>
<font size="2">
-<br><br>
-Feedback and comments are welcome. You can reach me in the following Address.
-<br><br>
-Pekka Riikonen<br>
-priikone at silcnet.org
+<br /><br />
+Feedback and comments are welcome. You can reach me at the following address:
+<br /><br />
+Pekka Riikonen<br />
+<a href="mailto:priikone at silcnet.org">priikone at silcnet.org</a>
</font>
-<br><br>
<b>Contributing</b>
<font size="2">
-<br><br>
-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.
-<br><br>
+<br /><br />
+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.
+<br /><br />
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
<a href="index.php?page=docs">documentation page.</a>
-<br><br>
+<br /><br />
Who wants to send code to the project should read the <a
href="docs/CodingStyle">CodingStyle</a>
-documentation. New code must comply with the coding style conventions
+documentation. New code must comply with the coding style conventions
described in that document.
-<br><br>
+<br /><br />
There is anonymous CVS acccess for those who want to participate the
-development process. Go see the <a href="index.php?page=cvs">CVS page.</a>
+development process. See the <a href="index.php?page=cvs">CVS page.</a>
</font>
-<br><br>
-<b>GNU GENERAL PUBLIC LICENSE<br>
+<b>GNU GENERAL PUBLIC LICENSE<br />
Version 2, June 1991</b>
<font size="2">
-<br><br>
-Copyright (C) 1989, 1991 Free Software Foundation, Inc.<br>
+<br /><br />
+Copyright (C) 1989, 1991 Free Software Foundation, Inc.<br />
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
-<br><br>
-Everyone is permitted to copy and distribute verbatim copies<br>
+<br /><br />
+Everyone is permitted to copy and distribute verbatim copies<br />
of this license document, but changing it is not allowed.
-<br><br>
+<br /><br />
<b>Preamble</b>
-<br><br>
+<br /><br />
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
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.
-<br><br>
+<br /><br />
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.
-<br><br>
+<br /><br />
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.
-<br><br>
+<br /><br />
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.
-<br><br>
+<br /><br />
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.
-<br><br>
+<br /><br />
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.
-<br><br>
+<br /><br />
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.
-<br><br>
+<br /><br />
The precise terms and conditions for copying, distribution and
modification follow.
-<br><br>
+<br /><br />
<b>TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</b>
-<br><br>
+<br /><br />
<strong>0.</strong>
This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
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".
-<br><br>
+<br /><br />
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.
-<br><br>
+<br /><br />
<strong>1.</strong>
You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
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.
-<br><br>
+<br /><br />
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.
-<br><br>
+<br /><br />
<strong>2.</strong>
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:
-<br><br>
+<br /><br />
<strong>a)</strong>
You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
-<br><br>
+<br /><br />
<strong>b)</strong>
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.
-<br><br>
+<br /><br />
<strong>c)</strong>
If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
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.)
-<br><br>
+<br /><br />
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
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.
-<br><br>
+<br /><br />
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.
-<br><br>
+<br /><br />
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.
-<br><br>
+<br /><br />
<strong>3.</strong>
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:
-<br><br>
+<br /><br />
<strong>a)</strong>
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,
-<br><br>
+<br /><br />
<strong>b)</strong>
Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
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,
-<br><br>
+<br /><br />
<strong>c)</strong>
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.)
-<br><br>
+<br /><br />
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
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.
-<br><br>
+<br /><br />
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.
-<br><br>
+<br /><br />
<strong>4.</strong>
You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
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.
-<br><br>
+<br /><br />
<strong>5.</strong>
You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
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.
-<br><br>
+<br /><br />
<strong>6.</strong>
Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
-<br><br>
+<br /><br />
<strong>7.</strong>
If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
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.
-<br><br>
+<br /><br />
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.
-<br><br>
+<br /><br />
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
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.
-<br><br>
+<br /><br />
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
-<br><br>
+<br /><br />
<strong>8.</strong>
If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
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.
-<br><br>
+<br /><br />
<strong>9.</strong>
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.
-<br><br>
+<br /><br />
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
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.
-<br><br>
+<br /><br />
<strong>10.</strong>
If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
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.
-<br><br>
+<br /><br />
<strong>NO WARRANTY</strong>
-<br><br>
+<br /><br />
<strong>11.</strong>
BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
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.
-<br><br>
+<br /><br />
<strong>12.</strong>
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
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.
-<br><br>
+<br /><br />
<b>END OF TERMS AND CONDITIONS</b>
</font>
-<br><br>
--- /dev/null
+<?php
+
+function Hits() {
+
+// $datafile has to be writable by http server user uid
+// else hits count will not be increased, only printed out
+
+ $datafile = $DocRoot."COUNTER";
+
+ if (Is_Writable($datafile)) {
+ $fp = FOpen($datafile, "r+");
+ $writable = "true";
+ }
+ else
+ if (Is_Readable($datafile)) $fp = FOpen($datafile,"r");
+ else return;
+
+ $hits = FGets($fp,255) + 1;
+ if(!$hits) $hits = 1;
+
+ if($writable) {
+ Rewind($fp);
+ FPuts($fp, $hits);
+ }
+
+ FClose($fp);
+ echo $hits." hits";
+}
+
+Hits();
+
+?>
<b>Anonymous CVS access</b>
<font size="2">
-<br><br>
+<br /><br />
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.
-<br><br>
+<br /><br />
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.
-<br><br><br>
+<br /><br />
<b>Browsing the Source Tree</b>
-<br><br>
+<br /><br />
If you want to browse the source tree using web browser before checking
out the tree with CVS use following link:
-<br><br>
+<br /><br />
<a href="http://cvs.silcnet.org/">Web Access to CVS repository
</a>
-<br><br>
+<br /><br />
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.
-<br><br><br>
+<br /><br />
<b>Howto Checkout The Source Tree</b>
-<br><br>
+<br /><br />
The repository can be checked out by using anonymous pserver with CVS.
-<br><br>
-For those who are using sh/ksh/bash the check out is done as follows:
-<br><br>
+<br /><br />
+For those who are using sh/ksh/bashi/zsh the check out is done as follows:
+<br /><br />
<font size="3">
<tt>
export CVSROOT=:pserver:cvs@cvs.silcnet.org:/cvs/silc
-<br><br>
-cvs login<br>
-cvs co silc<br>
+<br /><br />
+cvs login<br />
+cvs co silc<br />
+cvs logout<br />
</tt>
</font>
-<br><br>
+<br /><br />
For those who are using csh/tcsh the check out is done as follows:
-<br><br>
+<br /><br />
<font size="3">
<tt>
setenv CVSROOT :pserver:cvs@cvs.silcnet.org:/cvs/silc
-<br><br>
-cvs login<br>
-cvs co silc<br>
+<br /><br />
+cvs login<br />
+cvs co silc<br />
+cvs logout<br />
</tt>
</font>
-<br><br>
+<br /><br />
If you don't want to set $CVSROOT environment variable you can set the
-path to the cvs as command line options:
-<br><br>
+path to the cvs as command line option:
+<br /><br />
<font size="3">
<tt>
-cvs -d:pserver:cvs@cvs.silcnet.org:/cvs/silc login<br>
-cvs -d:pserver:cvs@cvs.silcnet.org:/cvs/silc co silc
+cvs -d:pserver:cvs@cvs.silcnet.org:/cvs/silc login<br />
+cvs -d:pserver:cvs@cvs.silcnet.org:/cvs/silc co silc<br />
+cvs -d:pserver:cvs@cvs.silcnet.org:/cvs/silc logout
</tt>
</font>
-<br><br>
-What ever method you decide to use, after you have done cvs login you will
+<br /><br />
+Whatever method you will decide to use, after you have done cvs login you will
be prompted for password:
-<br><br>
+<br /><br />
<b>CVS password: </b>silc
-<br><br>
-Type the password "silc" and press Enter.
-<br><br>
+<br /><br />
+Type the password "silc" and press <ENTER>
+<br /><br />
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.
-<br><br><br>
+<br /><br />
<b>What SILC Source Tree Includes</b>
-<br><br>
+<br /><br />
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.
-<br><br>
+<br /><br />
Following directories currently exist in SILC source tree.
-<br><br>
+<br /><br />
<font size="3">
<tt>
doc/
-<br><br>
-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.
-<br><br>
+<br /><br />
+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.
+<br /><br />
includes/
-<br><br>
+<br /><br />
Includes SILC include files.
-<br><br>
+<br /><br />
lib/
-<br><br>
-Includes SILC libraries. There maybe libraries on the CVS that
-does not appear on public distribution.
-<br><br>
+<br /><br />
+Includes SILC libraries. There are maybe libraries in the CVS which
+are not inclduded in public distribution.
+<br /><br />
public_html/
-<br><br>
-Includes the official SILC web pages and everything that relates
-to them. This directory never appears on public distribution.
-<br><br>
+<br /><br />
+Includes the official SILC web pages and everything related to them.
+This directory will never appear in public distribution.
+<br /><br />
silc/
-<br><br>
-Includes SILC client. There can be some extra files that will
-never appear in public distribution, such as, configuration files.
-<br><br>
+<br /><br />
+Includes SILC client. There can be some extra files that will
+never appear in public distribution, such as configuration files.
+<br /><br />
silcd/
-<br><br>
-Includes SILC server. There can be some extra files that will
-never appear in public distribution, such as, configuration files.
+<br /><br />
+Includes SILC server. There can be some extra files that will
+never appear in public distribution, such as configuration files.
</tt>
</font>
-<br><br><br>
+<br /><br />
<b>Howto Compile SILC Source Tree</b>
-<br><br>
-After checkout from CVS the SILC source tree must be prepared for
-configuration and compilation. To compile the source tree, give,
-<br><br>
+<br /><br />
+After checkout from CVS the SILC source tree needs to be prepared for
+configuration and compilation. To compile the source tree, type:
+<br /><br />
<font size="3">
<tt>
-./prepare<br>
-./configure --enable-debug<br>
-make
+./prepare<br />
+./configure --enable-debug<br />
+make<br /><br />
+note: on non-Linux operating systems GNU make (gmake) is prefered
</tt>
</font>
-<br><br>
+<br /><br />
-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).
-<br><br>
-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:
-<br><br>
+<br /><br />
+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:
+<br /><br />
<font size="3">
<tt>
-./silc -d -f configfile 2>log<br>
+./silc -d -f configfile 2>log<br />
./silcd -d -f configfile 2>log
</tt>
</font>
-<br><br><br>
+<br /><br />
-<b>Howto Clean SILC Source Tree</b>
-<br><br>
+<b>How to clean SILC Source Tree</b>
+<br /><br />
To entirely clear the source tree to the state after it was checked out
-from CVS, give,
-<br><br>
+from CVS, type:
+<br /><br />
<font size="3">
<tt>
./prepare-clean
</tt>
-</font><br><br>
+</font><br /><br />
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.
-<br><br><br>
+<br /><br />
<b>Makefiles and configuration files</b>
-<br><br>
-Developers should never directly write a Makefile. All Makefiles are
+<br /><br />
+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.
-<br><br>
+<br />
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.
</font>
-<br><br>
<b>SILC Documentation</b>
<font size="2">
-<br><br>
-Currently the SILC documentation is under work and the software does not
-have that much of a documentation.
-<br><br>
-README file from the software: <a href="docs/README">README</a>
-<br>
+<br /><br />
+Currently working on the SILC documentation is in progress and the software
+does not have extensive documentation at all.
+<br /><br />
+README file from packages: <a href="docs/README">README</a>
+<br />
Coding Style in SILC source tree: <a href="docs/CodingStyle">CodingStyle</a>
-<br><br>
+<br /><br />
<i>Coming later: Software manual, SILC Library Reference manual</i>
-<br><br><br>
+<br /><br /><br />
</font>
<b>SILC Protocol Internet Drafts</b>
-<br><br>
+<br /><br />
<font size="2">
-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
<a href="http://www.ietf.org">IETF</a>.
-<br><br>
+<br><b>Updated on Sun Jul 22 22:01:38 EEST 2001</b>: These new
+updated drafts will be submitted to the IETF after the August 14th 2001.
+<br /><br />
<b>Secure Internet Live Conferencing (SILC), Protocol Specification</b>
-<br><br>
+<br /><br />
Abstract
-<br><br>
+<br /><br />
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].
-<br><br>
-<a href="docs/draft-riikonen-silc-spec-02.txt">
-draft-riikonen-silc-spec-02.txt</a>
-<br><br><br>
+<br /><br />
+<a href="docs/draft-riikonen-silc-spec-03.txt">
+draft-riikonen-silc-spec-03.txt</a>
+<br /><br /><br />
<b>SILC Packet Protocol</b>
-<br><br>
+<br /><br />
Abstract
-<br><br>
+<br /><br />
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.
-<br><br>
-<a href="docs/draft-riikonen-silc-pp-02.txt">
-draft-riikonen-silc-pp-02.txt</a>
-<br><br><br>
+ the contents of the packets. It provides secure binary packet protocol
+ that assures that the content of the packets is secured and authenticated.
+<br /><br />
+<a href="docs/draft-riikonen-silc-pp-03.txt">
+draft-riikonen-silc-pp-03.txt</a>
+<br /><br /><br />
<b>SILC Key Exchange and Authentication Protocols</b>
-<br><br>
+<br /><br />
Abstract
-<br><br>
+<br /><br />
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].
-<br><br>
+<br /><br />
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).
-<br><br>
-<a href="docs/draft-riikonen-silc-ke-auth-02.txt">
-draft-riikonen-silc-ke-auth-02.txt</a>
-<br><br><br>
+<br /><br />
+<a href="docs/draft-riikonen-silc-ke-auth-03.txt">
+draft-riikonen-silc-ke-auth-03.txt</a>
+<br /><br /><br />
<b>SILC Commands</b>
-<br><br>
+<br /><br />
Abstract
-<br><br>
+<br /><br />
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
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.
-<br><br>
-<a href="docs/draft-riikonen-silc-commands-00.txt">
-draft-riikonen-silc-commands-00.txt</a>
-<br>
+<br /><br />
+<a href="docs/draft-riikonen-silc-commands-01.txt">
+draft-riikonen-silc-commands-01.txt</a>
+<br />
</font>
-<br><br>
<b>Download SILC</b>
<font size="2">
-<br><br>
+<br /><br />
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.
-<br><br>
+<br /><br />
<b>SILC Client <?php echo $latestc; ?></b>
-<br><br>
+<br /><br />
The SILC Client package is inteded for end users who need only the SILC
client. The package includes the new Irssi-SILC client.
-<p>
+<br /><br />
Sources HTTP:
-<a href="silc-client-<?php echo $latestc; ?>.tar.gz">
+<a href="download/silc-client-<?php echo $latestc; ?>.tar.gz">
tar.gz</a> (<?php echo
-div(FileSize($FTPRoot."silc-client-".$latestc.".tar.gz"),1024); ?> KB),
-<a href="silc-client-<?php echo $latestc; ?>.tar.bz2">
+div(FileSize($DownloadRoot."silc-client-".$latestc.".tar.gz"),1024); ?> KB),
+<a href="download/silc-client-<?php echo $latestc; ?>.tar.bz2">
tar.bz2</a> (<?php echo
-div(FileSize($FTPRoot."silc-client-".$latestc.".tar.bz2"),1024); ?> KB)
-<br>
-Sources FTP: <a href="ftp://silcnet.org/pub/silc/">tar.gz and tar.bz2</a>
-<br><br>
+div(FileSize($DownloadRoot."silc-client-".$latestc.".tar.bz2"),1024); ?> KB)
+<br />
+Sources FTP: <a href="ftp://ftp.silcnet.org/pub/silc/">tar.gz and tar.bz2</a>
+<br /><br />
<b>SILC Server <?php echo $latests; ?></b>
-<br><br>
+<br /><br />
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 <a href="mailto:priikone at silcnet.org">me</a> now.
-<p>
+<br /><br />
Sources HTTP:
-<a href="silc-server-<?php echo $latests; ?>.tar.gz">
+<a href="download/silc-server-<?php echo $latests; ?>.tar.gz">
tar.gz</a> (<?php echo
-div(FileSize($FTPRoot."silc-server-".$latests.".tar.gz"),1024); ?> KB),
-<a href="silc-server-<?php echo $latests; ?>.tar.bz2">
+div(FileSize($DownloadRoot."silc-server-".$latests.".tar.gz"),1024); ?> KB),
+<a href="download/silc-server-<?php echo $latests; ?>.tar.bz2">
tar.bz2</a> (<?php echo
-div(FileSize($FTPRoot."silc-server-".$latests.".tar.bz2"),1024); ?> KB)
-<br>
-Sources FTP: <a href="ftp://silcnet.org/pub/silc/">tar.gz and tar.bz2</a>
-<br><br>
+div(FileSize($DownloadRoot."silc-server-".$latests.".tar.bz2"),1024); ?> KB)
+<br />
+Sources FTP: <a href="ftp://ftp.silcnet.org/pub/silc/">tar.gz and tar.bz2</a>
+<br /><br />
<b>SILC Toolkit <?php echo $latest; ?></b>
-<br><br>
+<br /><br />
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.
-<p>
+<br /><br />
Sources HTTP:
-<a href="silc-toolkit-<?php echo $latest; ?>.tar.gz">
+<a href="download/silc-toolkit-<?php echo $latest; ?>.tar.gz">
tar.gz</a> (<?php echo
-div(FileSize($FTPRoot."silc-toolkit-".$latest.".tar.gz"),1024); ?> KB),
-<a href="silc-toolkit-<?php echo $latest; ?>.tar.bz2">
+div(FileSize($DownloadRoot."silc-toolkit-".$latest.".tar.gz"),1024); ?> KB),
+<a href="download/silc-toolkit-<?php echo $latest; ?>.tar.bz2">
tar.bz2</a> (<?php echo
-div(FileSize($FTPRoot."silc-toolkit-".$latest.".tar.bz2"),1024); ?> KB)
-<br>
-Sources FTP: <a href="ftp://silcnet.org/pub/silc/">tar.gz and tar.bz2</a>
-<br><br>
+div(FileSize($DownloadRoot."silc-toolkit-".$latest.".tar.bz2"),1024); ?> KB)
+<br />
+Sources FTP: <a href="ftp://ftp.silcnet.org/pub/silc/">tar.gz and tar.bz2</a>
+<br /><br />
<b>CVS Snapshots</b>
-<br><br>
+<br /><br />
Daily CVS snapshots are available. These are generated 22:00 GMT every
night. Read the <a href="index.php?page=cvs">CVS page</a> for more
information.
-<br><br>
-HTTP: <a href="silc.tar.gz">CVS Snapshot</a>
-<br><br>
+<br /><br />
+HTTP: <a href="download/silc.tar.gz">CVS Snapshot</a>
+<br /><br />
<b>Portability</b>
-<br><br>
+<br /><br />
The SILC has been reported to work on, at least:
-<br><br>
- - Linux<br>
- - FreeBSD<br>
- - NetBSD<br>
- - OpenBSD<br>
- - HP-UX<br>
- - Solaris<br>
- - Windows (cygwin)
-</font><br><br>
+<br /><br />
+ - Linux<br />
+ - FreeBSD<br />
+ - NetBSD<br />
+ - OpenBSD<br />
+ - HP-UX<br />
+ - Solaris<br />
+ - Windows<br />
+ - Cygwin & MinGW<br />
+</font>
-<b>Frequently Asked Questions</b>
+<b>Frequently Asked Questions</b><br /><br />
<font size="2">
-<br><br>
-<font color="#2f486f">Q: What is SILC?</font><br>
+<a href="#f1_0">1. General Questions</a><br />
+ <a href="#f1_1">1.1 What is SILC?</a><br />
+ <a href="#f1_20">1.2 When was SILC Project started?</a><br />
+ <a href="#f1_30">1.3 Why SILC in the first place?</a><br />
+ <a href="#f1_40">1.4 What license covers the SILC release?</a><br />
+ <a href="#f1_50">1.5 Why SILC? Why not IRC3?</a><br />
+ <a href="#f1_55">1.6 What platforms SILC supports?</a><br />
+ <a href="#f1_60">1.7 Where can I find more information?</a><br />
+ <a href="#f1_70">1.8 I would like to help out, what can I do?</a><br />
+<br />
+<a href="#f2_0">2. Protocol Questions</a><br />
+ <a href="#f2_10">2.1 What is the status of SILC protocol in the IETF?</a><br />
+ <a href="#f2_20">2.2 How much the SILC protocol is based on IRC?</a><br />
+ <a href="#f2_30">2.3 Why use SILC? Why not IRC with SSL?</a><br />
+ <a href="#f2_40">2.4 Can I talk from SILC network to IRC network?</a><br />
+ <a href="#f2_45">2.5 Does SILC support file transfer?</a><br />
+ <a href="#f2_47">2.6 I am behind a firewall, can I use SILC?</a><br />
+ <a href="#f2_50">2.7 How secure SILC really is?</a><br />
+ <a href="#f2_60">2.8 Does SILC support instant messaging?</a><br />
+ <a href="#f2_80">2.9 I have suggestions to SILC Protocol, what can I do?</a><br />
+<br />
+<a href="#f3_0">3. Client Questions</a><br />
+ <a href="#f3_10">3.1 Where can I find SILC clients?</a><br />
+ <a href="#f3_20">3.2 Can I use SILC with IRC client and vice versa?</a><br />
+<br />
+<a href="#f4_0">4. Server Questions</a><br />
+ <a href="#f4_10">4.1 Where can I find SILC servers?</a><br />
+ <a href="#f4_20">4.2 Can I run own SILC server?</a><br />
+ <a href="#f4_30">4.3 What is the difference between SILC server and SILC router?</a><br />
+<br />
+<a href="#f5_0">5. Toolkit Questions</a><br />
+ <a href="#f5_10">5.1 What is SILC Toolkit?</a><br />
+<br /><br />
+
+<a name="f1_0"></a>
+<b>1. General Questions</b><br /><br />
+
+<a name="f1_10"></a>
+<font color="#2f486f">Q: What is SILC?</font><br />
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.
-<br><br>
+<br /><br />
Biggest differences are that SILC is secure what IRC is not in any way.
The network model is also entirely different compared to IRC.
-<br><br>
-<font color="#2f486f">Q: Why SILC in the first place?</font><br>
-A: Simply for fun, nothing more. An actually for need back then when it
-was started. SILC has been very interesting and educational project.
-<br><br>
-<font color="#2f486f">Q: Why use SILC? Why not IRC with SSL?</font><br>
-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.
-<br><br>
-<font color="#2f486f">Q: Can I use SILC with IRC client? What about can I use IRC with SILC client?</font><br>
-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.
-<br><br>
-<font color="#2f486f">Q: Why client/server protocol is based on IRC? Would it be more interesting to implement something extensible and more powerful?</font><br>
-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.
-<br><br>
-<font color="#2f486f">Q: Why SILC? Why not IRC3?</font><br>
-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.
-<br><br>
+<br /><br />
+
+<a name="f1_20"></a>
+<font color="#2f486f">Q: When was SILC Project started?</font><br />
+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.
+<br /><br />
+
+<a name="f1_30"></a>
+<font color="#2f486f">Q: Why SILC in the first place?</font><br />
+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.
+<br /><br />
+
+<a name="f1_40"></a>
+<font color="#2f486f">Q: What license covers the SILC release?</font><br />
+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.
+<br /><br />
+
+<a name="f1_50"></a>
+<font color="#2f486f">Q: Why SILC? Why not IRC3?</font><br />
+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.
+<br /><br />
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.
-<br><br>
-<font color="#2f486f">Q: How secure SILC really is?</font><br>
-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
+<br /><br />
+
+<a name="f1_55"></a>
+<font color="#2f486f">Q: What platforms SILC supports?</font><br />
+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.
+<br /><br />
+
+<a name="f1_60"></a>
+<font color="#2f486f">Q: Where can I find more information?</font><br />
+A: For more technical information we suggest reading the SILC Protocol
+specifications. You might also want to take a look at the <a
+href="?page=docs">documentation </a> page on the web page.
+<br /><br />
+
+<a name="f1_70"></a>
+<font color="#2f486f">Q: I would like to help out, what can I do?</font><br />
+A: You might want to take a look at the <a
+href="?page=contribute">Contributing</a> page and the <a
+href="?page=todo">TODO</a> list. You might also want to join the
+SILC development mailing list.
+<br /><br />
+
+<a name="f2_0"></a>
+<b>2. Protocol Questions</b><br /><br />
+
+<a name="f2_10"></a>
+<font color="#2f486f">Q: What is the status of SILC protocol in the IETF?</font><br />
+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 <a href="http://www.ietf.org/">IETF</a> at a
+later time.
+<br /><br />
+
+<a name="f2_20"></a>
+<font color="#2f486f">Q: How much SILC Protocol is based on IRC?</font><br />
+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.
+<br /><br />
+
+<a name="f2_30"></a>
+<font color="#2f486f">Q: Why use SILC? Why not IRC with SSL?</font><br />
+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.
+<br /><br />
+
+<a name="f2_40"></a>
+<font color="#2f486f">Q: Can I talk from SILC network to IRC network?</font><br />
+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.
+<br /><br />
+
+<a name="f2_45"></a>
+<font color="#2f486f">Q: Does SILC support file transfer?</font><br />
+A: Not yet. This is a feature that will be added to the SILC protocol.
+The exact file transfer protocol is undefined.
+<br /><br />
+
+<a name="f2_47"></a>
+<font color="#2f486f">Q: I am behind a firewall, can I use SILC?</font><br />
+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.
+<br /><br />
+
+<a name="f2_50"></a>
+<font color="#2f486f">Q: How secure SILC really is?</font><br />
+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.
-<br><br>
+<br /><br />
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.
-<br><br>
+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.
+<br /><br />
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.
-<br><br>
+open for security analysis.
+<br /><br />
To give a list of attacks that are ineffective against SILC:
-<br><br>
+<br /><br />
- 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).<br>
-- IP spoofing is ineffective (because of encryption and trusted keys).<br>
-- Attacks that change the contents of the data or add extra data to the
-packets are ineffective (because of encryption and integrity checks).<br>
-- Passive attacks (listenning network traffic) are ineffective (because
+protocol for that matter).<br />
+ - IP spoofing is ineffective (because of encryption and trusted keys).<br />
+ - Attacks that change the contents of the data or add extra data to the
+packets are ineffective (because of encryption and integrity checks).<br />
+ - Passive attacks (listenning network traffic) are ineffective (because
of encryption). Everything is encrypted including authentication data
-such as passwords when they are needed.<br>
-- Any sort of cryptanalytic attacks are tried to make ineffective by
-using the best cryptographic algorithms out there.<br>
-<br><br>
-<i>More to come later...</i>
+such as passwords when they are needed.<br />
+ - Any sort of cryptanalytic attacks are tried to make ineffective by
+using the best cryptographic algorithms out there.
+<br /><br />
+
+<a name="f2_60"></a>
+<font color="#2f486f">Q: Does SILC support instant messaing?</font><br />
+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.
+<br /><br />
+
+<a name="f2_80"></a>
+<font color="#2f486f">Q: I have suggestions to SILC Protocol,
+what can I do?</font><br />
+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.
+<br /><br />
+
+<a name="f3_0"></a>
+<b>3. Client Questions</b><br /><br />
+
+<a name="f3_10"></a>
+<font color="#2f486f">Q: Where can I find SILC clients?</font><br />
+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.
+<br /><br />
+
+<a name="f3_20"></a>
+<font color="#2f486f">Q: Can I use SILC with IRC client and vice versa?</font><br />
+A: Generally the answer would be no for both. However, there exist already
+at least one IRC client that supports SILC, the <a
+href="http://irssi.org/">Irssi client</a>. 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.
+<br /><br />
+
+<a name="f4_0"></a>
+<b>4. Server Questions</b><br /><br />
+
+<a name="f4_10"></a>
+<font color="#2f486f">Q: Where can I find SILC servers?</font><br />
+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.
+<br /><br />
+
+<a name="f4_20"></a>
+<font color="#2f486f">Q: Can I run own SILC server?</font><br />
+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.
+<br /><br />
+
+<a name="f4_30"></a>
+<font color="#2f486f">Q: What is the difference between SILC
+server and SILC router?</font><br />
+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.
+<br /><br />
+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.
+<br /><br />
+
+<a name="f5_0"></a>
+<b>5. Toolkit Questions</b><br /><br />
+
+<a name="f5_10"></a>
+<font color="#2f486f">Q: What is SILC Toolkit?</font><br />
+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.
</font>
-<br><br>
<b>Features</b>
<font size="2">
-<br><br>
-<b>Features to be included into the final release of SILC.</b>
-<br><br>
+<br /><br />
- Normal conferencing services such as private messages, channels, channel messages, etc. All traffic is secured and authenticated.
-<br><br>
+<br /><br />
- 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.
-<br><br>
-- 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.
-<br><br>
-- 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.
-<br><br>
-- 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.
-<br><br>
+<br /><br />
+- 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.
+<br /><br />
+- 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.
+<br /><br />
+- 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.
+<br /><br />
- 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).
-<br><br>
+<br /><br />
- 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.
-<br><br>
+<br /><br />
- 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.
-<br><br>
-- 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.
-<br><br>
+<br /><br />
+- 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.
+<br /><br />
- Supports data compression with GZIP to improve performance.
-<br><br>
+<br /><br />
- Supports SOCKS4 and SOCKS5 firewall traversal protocols.
-<br><br>
+<br /><br />
- 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.
-<br><br>
+<br /><br />
- SILC client can be installed and used without root privileges.
-<br><br>
+<br /><br />
- SILC client can be configured by system wide configuration files but with user specific configuration files as well.
</font>
-<br><br>
<b>History</b>
<font size="2">
-<br><br>
-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.
-<br><br>
-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.
-<br><br>
-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.
-<br><br>
-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).
-<br><br>
-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.
+<br /><br />
+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.
+<br /><br />
+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.
+<br /><br />
+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.
</font>
-<br><br>
<b>Public SILC Mailing Lists</b>
<font size="2">
-<br><br>
-<b>Available since: Sat Jul 22 17:23:48 EEST 2000</b>
-<br><br>
+<br /><br />
+<b><font color="#2f486f">Available since Sat Jul 22 17:23:48 EEST 2000</font></b>
+<br /><br />
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.
-<br><br>
+<br /><br />
<a href="http://lists.sourceforge.net/lists/listinfo/silc-devel">
SILC-devel mailing list</a>
-<br><br>
+<br /><br />
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: <font color="#2f486f">silc-devel at
-lists.sourceforge.net</font> address.
+be destined to: <a href="mailto:silc-devel at lists.sourceforge.net">silc-devel at
+lists.sourceforge.net</a> address.
</font>
-<br><br>
<b>SILC Client <?php echo $latestc; ?> Is Now Available!</b>
-<br><font size="1" color="#2f486f"><?php echo $latest_datec ?></font>
+<br /><font size="1" color="#2f486f"><?php echo $latest_datec ?></font>
<font size="2">
-<br><br>
+<br /><br />
The new version <?php echo $latestc; ?> 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
<a href="index.php?page=lists">SILC development mailing list</a>.
-<br><br>
+<br /><br />
Download: <a href="index.php?page=download">SILC Client <?php echo
$latestc; ?> Version</a>
-<br>
-Changes: <a href="changes.txt">SILC Client <?php echo $latestc; ?>
+<br />
+Changes: <a href="changes-client.txt">SILC Client <?php echo $latestc; ?>
Changes</a>
</font>
-<br><br><br>
+<br /><br /><br />
<b>SILC Server <?php echo $latests; ?> Is Now Available!</b>
-<br><font size="1" color="#2f486f"><?php echo $latest_dates ?></font>
+<br /><font size="1" color="#2f486f"><?php echo $latest_dates ?></font>
<font size="2">
-<br><br>
+<br /><br />
The new version <?php echo $latests; ?> 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
<a href="index.php?page=lists">SILC development mailing list</a>.
-<br><br>
+<br /><br />
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
<a href="mailto:priikone at silcnet.org">me</a> now.
-<br><br>
+<br /><br />
Download: <a href="index.php?page=download">SILC Server <?php echo
$latests; ?> Version</a>
-<br>
-Changes: <a href="changes.txt">SILC Server <?php echo $latests; ?>
+<br />
+Changes: <a href="changes-server.txt">SILC Server <?php echo $latests; ?>
Changes</a>
</font>
-<br><br><br>
+<br /><br /><br />
<b>SILC Toolkit <?php echo $latest; ?> Is Now Available!</b>
-<br><font size="1" color="#2f486f"><?php echo $latest_date ?></font>
+<br /><font size="1" color="#2f486f"><?php echo $latest_date ?></font>
<font size="2">
-<br><br>
+<br /><br />
The new version <?php echo $latest; ?> 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.
-<br><br>
+<br /><br />
Download: <a href="index.php?page=download">SILC Toolkit <?php echo
$latest; ?> Version</a>
-<br>
+<br />
Changes: <a href="changes.txt">SILC Toolkit <?php echo $latest; ?>
Changes</a>
</font>
-<br><br><br>
+<br /><br /><br />
<b>SILC Server Available For Testing</b>
<font size="2">
-<br><br>
+<br /><br />
There is SILC server up and running that can be tested. Just give command
<font color="#2f486f">/server silc.silcnet.org</font> to connect to the
server. There may be some action on channel #silc (unless everybody is
sleeping) so you might want to give command <font color="#2f486f">/join
#silc</font>.
-<br><br>
+<br /><br />
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.
</font>
-
-<br><br>
-<br>
+<br />
<tt>
<font face="courier" size="3">
<?php
-if (File_exists($DocRoot."todo.txt"))
- if ($fp = @FOpen($DocRoot."todo.txt", "r")) {
-
+if (Is_Readable($DocRoot."todo.txt")) {
+ $fp = FOpen($DocRoot."todo.txt", "r");
+
while($line = FGets($fp, 255)) {
$newline = Ereg_Replace("^[ ]{2,4}"," ",$line);
$line = Ereg_Replace("^([\t]|[ ][\t])"," ",$newline);
?>
</font>
</tt>
-<br>